将随机 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应该可以解决问题。匹配冒号之前的所有内容并在替换中返回它。

相关内容