sed - IP オクテットと一致し、行を削除する

sed - IP オクテットと一致し、行を削除する

数値の組み合わせを含むIPオクテットと一致し、行を削除するための解決策(可能であればsed)が必要です。たとえば、

私のファイル:

 192.168.100.12
 192.168.200.12
 10.10.20.10
 10.10.30.20

10.10.20.xサブネットで見つかったIPを含む行を削除して削除する必要があります。したがって、ファイルに10.10.20.10、20.11、20.12などが含まれている場合はすべて削除されます。インライン交換も必要です。

私が試したこと:

sed -i '/10\.10\.20\.\([0-9]\{1,3\}\)/d' file

これ:

sed -i '/10.\.10\.20\.*\([0-9]\{1,3\}\)*/d' file​

しかし、どちらも機能しません。コマンドはエラーなしで完了しますが、その行はまだファイルに残ります。私はawkのような他の解決策でも開いています。

ベストアンサー1

GNU sedの使用:

sed -i '/10\.10\.20\.[[:digit:]]\{,3\}/d' file

BSD sedを使用するにはsed -i ''

おすすめ記事