IPとポート番号を含むファイルがあります。ポート番号を削除してIPを維持したいです。
xyz 10.93.10.13:58160).
xyz 10.93.10.13:58161).
xyz 10.18.104.181:12466).
xyz 10.93.10.13:60585).
wxy 10.93.10.13:60586).
wxy 10.93.10.13:60587).
ADMIN loopback[127.0.0.1]:33955).
ADMIN loopback[127.0.0.1]:33957).
ADMIN loopback[127.0.0.1]:33961).
ADMIN loopback[127.0.0.1]:33962).
期待される出力
xyz 10.93.10.13
xyz 10.93.10.13
xyz 10.18.104.181
xyz 10.93.10.13
wxy 10.93.10.13
wxy 10.93.10.13
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
不都合なプログラムを試しましたが、うまくいきませんでした。
cat 1.txt|grep -v [:12312]
ありがとう
答え1
まず、役に立たない使用cat
。第二に、grep
ただ検索しても何の変化もありません。あなたはここが欲しいsed
:
$ sed -E 's/:[0-9]+.*/ /' input
xyz 10.93.10.13
xyz 10.93.10.13
xyz 10.18.104.181
xyz 10.93.10.13
wxy 10.93.10.13
wxy 10.93.10.13
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
ADMIN loopback[127.0.0.1]
答え2
sed 's/\(.*\):.*/\1/' filename
これで問題が解決します。コロンの前のすべての項目と一致し、それを代替項目として返します。