このsedコマンドは、「rocommunity」という単語を含む行を削除します。
sed -i '/rocommunity/d' snmpd.conf
rocommunity hedona 127.0.0.1
rocommunity hedona linux1
rocommunity hedona linux12
rocommunity hedona linux13
rocommunity hedona linux15
rocommunity hedona linux16
rocommunity hedona linux17
syscontact linux 67
syslocation UNKNOWN
trapcommunity hedona
trapsink linux76 parshedona
rocommunityを含む行(127.0.0.1を含む行を除く)を削除するためにsedをどのように更新しますか?
予想出力:
rocommunity hedona 127.0.0.1
syscontact linux 67
syslocation UNKNOWN
trapcommunity hedona
trapsink linux76 parshedona
ベストアンサー1
2つの検索を組み合わせることができます。
sed '/rocommunity.*127\.0\.0\.1/p;/rocommunity/d' /path/to/input
/rocommunity.*127\.0\.0\.1/p
- rocommunity
for と一致する行からその127.0.0.1
行を印刷します。
/rocommunity/d
- 一致する行ではrocommunity
印刷しません。
その他の内容はすべて印刷されます。
ファイルを変更するには、ファイル必要な操作を確認してからをsed --in-place
使用してファイルを変更できます。