与AWK在同一行的IP地址和国家/地区

duc*_*lip 3 bash awk

我正在寻找一个基于IP列表的单线程,它将附加IP所在的国家/地区

所以,如果我有这个和输入:

87.229.123.33
98.12.33.46
192.34.55.123
Run Code Online (Sandbox Code Playgroud)

我想生产这个:

87.229.123.33 - GB
98.12.33.46 - DE
192.34.55.123 - US
Run Code Online (Sandbox Code Playgroud)

我已经有一个脚本可以返回国家的IP,但是我需要将它与awk粘在一起,到目前为止,这是我想出来的:

$ get_ips | nawk '{ print $1; system("ip2country " $1) }'
Run Code Online (Sandbox Code Playgroud)

这很酷但ip和国家/地区不会显示在同一行上,如何在一行上合并系统输出和ip?

如果你有更好的方法,我愿意接受建议.

hvi*_*tus 5

您可以使用printf而不是print:

{ printf("%s - ", $1); system("ip2country " $1); }
Run Code Online (Sandbox Code Playgroud)