我有一个文件,其中第二列作为网络中所有主机的主机名:
Host example.com (x.x.x.x) is up (0.0041s latency).
依此类推,但很多行在第二列中并不以主机名开头,而是以主机名的 IP 开头,例如:
Host a.b.c.d is up (0.022s latency).
那么我如何获得第二列中以 IP 开头的所有行呢?
答案1
和awk
:
awk '$2~/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/' file
$2
这会根据正则表达式检查第二个字段。[0-9]
匹配一个数字、+
匹配 1 个或多个数字以及\.
匹配单个点。