数値の組み合わせを含む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 ''
。