我有一个代理配置文件,其中包含以下行:
Allow 212.21.3.44
我希望在更改时用我的新IP地址替换该IP地址部分。在搜索时可能更容易使用行号& ndash我认为除了特定设置之外,配置文件根本不会改变。
如何从命令行执行类似Perl,sed等的操作?
答案 0 :(得分:2)
如果您想使用sed更改特定的行号,可以使用:
sed -i '<line number> s/Allow .*$/Allow <new ip>/g' <filename>
答案 1 :(得分:1)
sed -i 's/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/my.new.ip.here/' file.txt
-i
标志会改变文件的位置(取决于您的发行版/ * nix的风格 - 对我来说适用于Ubuntu)。
答案 2 :(得分:1)
如果行号确实发生了变化
sed -i '/Allow/s/Allow .*$/Allow <new ip>/' <filename>