1

我有这个文件包含以下文本。

200.200.200.253
80/tcp:filtered:http
443/tcp:filtered:https

200.200.200.254
80/tcp:filtered:http
443/tcp:filtered:https

web.example.com (200.200.200.250)
80/tcp:filtered:http
443/tcp:filtered:https

我想使用sed在 IP 地址末尾添加 (:)。所以它看起来像下面。

 200.200.200.253 :
 80/tcp:filtered:http
 443/tcp:filtered:https

 200.200.200.254 :
 80/tcp:filtered:http
 443/tcp:filtered:https

 web.example.com (200.200.200.250) :
 80/tcp:filtered:http
 443/tcp:filtered:https

我遇到了web.example.com (200.200.200.250)正则表达式匹配的问题。

我希望这条线看起来像 web.example.com (200.200.200.250) :


我得到了答案,这是我尝试过的。

 sed -e 's/[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}/&:/' file.txt
4

1 回答 1

2

我建议你使用

sed -r 's/^([0-9]+\.){3}[0-9]+$/& :/g' filename

sed -r 's/([0-9]+\.){3}[0-9]+.*/& :/g' filename
于 2012-10-23T20:04:34.543 回答