输入文件如下所示:
Jan 23 14:57:16 TCP 217.79.188.21:80 in
我试过了:
sed 's/:[^:]* in/ in/'
但它一直在删除:16而不是删除:80
我该如何解决这个问题?
答案 0 :(得分:0)
尝试匹配IP和端口,并将其替换为IP。
答案 1 :(得分:0)
sed -E -e 's/:[[:digit:]]{1,3} in/ in/'
答案 2 :(得分:0)
这可能对您有用:
echo "Jan 23 14:57:16 TCP 217.79.188.21:80 in" | sed 's/:..//3'
Jan 23 14:57:16 TCP 217.79.188.21 in
或(更可能是端口号可能是任何数字):
echo "Jan 23 14:57:16 TCP 217.79.188.21:80 in" | sed 's/:[^ ]*//2'
Jan 23 14:57:16 TCP 217.79.188.21 in