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 に答える