私は私のものを持っています/etc/hosts
:
#192.168.54.144 name1
#192.168.54.144 name2
192.168.54.143 name3
#
次のようにするために、IPアドレスIPv4の後にあるすべての文字を削除したいと思います。
192.168.54.144 name1
192.168.54.144 name2
192.168.54.143 name3
sed
orawk
またはを使用する必要があると思いますcut
。
ありがとう
ベストアンサー1
GNUの使用sed
:
実際のIPのみ一致(渡す):
sed -E 's/^#(((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5]))/\1/' file
または単純一致の場合は、次の数字を確認してください#
。
sed 's/^#\([[:digit:]]\)/\1/' file
-i
これにより、対応する編集ファイルに追加された結果が印刷されます。
perl
逆参照の必要性を排除するためにLookeheadを使用することもできます。
perl -pe 's/^\#(?=[[:digit:]])//' file