我的文件包含以下行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2000 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 2001 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 2002 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2001 -j ACCEPT
我如何通过SED或其他方法通过命令行执行此操作?
我应该寻找…例如..
2001
然后注释掉整行(添加#infront of)
或者我应该搜索整行,然后用一个包含#的新行替换它?
什么是最实用的方法? ( 最快的 )
通过sed,
原文链接:https://www.f2er.com/regex/357267.htmlsed '/ 2001 /s/^/#/' file
添加内联编辑-i选项以保存所做的更改.
sed -i '/ 2001 /s/^/#/' file
例:
$sed '/ 2001 /s/^/#/' file -A INPUT -m state --state NEW -m tcp -p tcp --dport 2000 -j ACCEPT #-A INPUT -m state --state NEW -m tcp -p tcp --dport 2001 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 2002 -j ACCEPT