任意のIPアドレスポートの番号を空白に置き換えます。

任意のIPアドレスポートの番号を空白に置き換えます。

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これで問題が解決します。コロンの前のすべての項目と一致し、それを代替項目として返します。

関連情報