-1

早上好。
我正在寻找一个主机文件并从 $1 获取 IP 的最后一个八位字节,然后接下来打印主机名。
例如:

Input:
xxx.xxx.xxx.210         zone123 #Comment 
Output
210         zone123

谢谢!

4

2 回答 2

1

对于我可以抓取的主机文件,这有效:

awk '/^[^#]/{split($1, arr, "." ); print arr[4], $2 }' hosts

这将首先按空格解析文件,忽略注释行,然后打印第一个字段的第 4 个元素,以及由空格指定的第 2 个元素。

于 2013-11-06T16:52:17.660 回答
1

awk应该这样做:

awk -F "[. \t]*" '/^[0-9]+./ {print $4,$5}

echo "192.168.32.210         zone123 #Comment " | awk -F "[. \t]*" '/^[0-9]+./ {print $4,$5}'
210 zone123

它搜索以数字开头的所有行,然后.
如果找到,将行分成几部分并打印字段$4$5

于 2013-11-06T17:35:46.047 回答