Awk是一个归档和第二个字段的最后八位字节

时间:2013-11-06 16:46:20

标签: awk

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分: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