-1

我有一堆线如下:

PING planetlab2.tau.ac.il (192.114.4.3) 56(84) bytes of data.

我想从这些行中获取 ip 地址,它们位于第一行()对之间

如何使用 linux 正则表达式获取它?像 sed, grep, blabla 谢谢!

4

2 回答 2

0

如果您不需要不匹配的行并且您只需要匹配行中的 IP 地址,请尝试以下操作:

perl -ne 'print $1 if /\(((?:\d{1,3}\.){3}\d{1,3})\)/'<<EOT
PING planetlab2.tau.ac.il (192.114.4.3) 56(84) bytes of data.
EOT

输出:

192.114.4.3
于 2013-04-10T23:10:20.837 回答
0
echo "PING planetlab2.tau.ac.il (192.114.4.3) 56(84) bytes of data." | sed -r 's/^[^(]+\(([^)]+)\).*/\1/'
192.114.4.3
于 2013-04-10T23:23:38.920 回答