Awk字段的最后八位字节和第二个字段

Awk字段的最后八位字节和第二个字段,awk,Awk,早上好。 我希望获取一个hosts文件,从$1中获取IP的最后八位字节,然后打印下一个主机名。 例如: 谢谢 对于像我可以抓取的主机文件这样的主机文件,这是有效的: awk '/^[^#]/{split($1, arr, "." ); print arr[4], $2 }' hosts 这将首先按空格解析文件,忽略注释行,然后打印第一个字段的第四个元素和由空格指定的第二个元素。此awk应执行以下操作: awk -F "[. \t]*" '/^[0-9]+./ {print $4,$5} 它

早上好。 我希望获取一个hosts文件,从$1中获取IP的最后八位字节,然后打印下一个主机名。 例如:


谢谢

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

awk '/^[^#]/{split($1, arr, "." ); print arr[4], $2 }' hosts
这将首先按空格解析文件,忽略注释行,然后打印第一个字段的第四个元素和由空格指定的第二个元素。

此awk应执行以下操作:

awk -F "[. \t]*" '/^[0-9]+./ {print $4,$5}
它搜索所有以数字开头的行,然后搜索。
如果找到,将该行分成几个部分,并打印字段$4和$5

,以获得最后一个八位字节,然后是文件的其余部分。我只需要最后一个八位组和第二个字段。我本应该问得更好。输入文件中的xxx.xxx.xxx.210 zone123注释。您好,您自己尝试过吗?或者你只是在寻找解决方案?下次请阅读关于SO的问题。
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