ファイル内の行:
-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
それは機能しません。
ベストアンサー1
はい、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」はグローバル変更を意味します。パターンのインスタンスを 1 つだけ変更する場合は、これをスキップしてください。