文件中的行:
-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
注释掉让我们说包含的行
2001
我可以简单地运行这个 SED 命令:
sed -i '/ 2001 /s/^/#/' file
但现在我该如何恢复?
就像取消注释同一行一样?
我试过了
sed -i '/ 2001 /s/^//' file
那行不通。
最佳答案
是的,要使用 sed 注释包含特定字符串的行,只需执行以下操作:
sed -i '/<pattern>/s/^/#/g' file
并取消注释:
sed -i '/<pattern>/s/^#//g' file
在你的情况下:
sed -i '/2001/s/^/#/g' file (to comment out)
sed -i '/2001/s/^#//g' file (to uncomment)
最后的选项“g”表示全局变化。如果您只想更改模式的单个实例,请跳过此步骤。
关于bash - 如何使用 Sed 取消注释包含特定字符串的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24889346/