如何使用awk打印最后两列
我想要的是最后两列打印。
您可以使用设置为inputlogging中字段总数的variablesNF
:
awk '{print $(NF-1),"\t",$NF}' file
这假定你至less有2个字段。
awk '{print $NF-1, $NF}' inputfile
注意:只有至less有两列存在时才有效。 在有一列的logging中,您将得到一个虚假的"-1 column1"
@jim mcnamara:尝试在NF
附近使用括号,例如$(NF-1)
和$(NF)
而不是$NF-1
和$NF
(适用于FreeBSD awk
和gawk
Mac OS X 10.6.8)。
echo ' 1 2 2 3 one one two three ' | gawk '{if (NF >= 2) print $(NF-1), $(NF);}' # output: # 1 2 # 2 3 # two three
使用gawk展品的问题是:
gawk '{ print $NF-1, $NF}' filename 1 2 2 3 -1 one -1 three # cat filename 1 2 2 3 one one two three
我只是在Solaris 10 M4000上安装gawk:因此,gawk是$ NF-1与$(NF-1)问题上的瓶颈。 下一个问题POSIX说什么? 每:
http://www.opengroup.org/onlinepubs/009695399/utilities/awk.html
没有方向。 不好。 gawk意味着减法,其他awks意味着字段数或减法。 哼。