2013-12-08 35 views
4

下面的脚本显示twister.txt中的最大字段数。AWK脚本打印的字段数最多的行

awk '{if (NF > max) max = NF} END{print max}' twister.txt 

我的问题是,你如何显示行本身,其中twister.txt中的字段数最多。

回答

7
awk '{if (NF > max) {max = NF; line=$0}} END{print line}' twister.txt 
+0

它的工作原理!为什么你要将这条线路初始化为$ 0?你如何解读这个? – anansharm

+1

@anansharm'$ 0'是当前行。所以当你发现你必须更新'max'时,你只需要将变量'line'更新到当前行。然后在最后,'line'的值等于找到的最大字段数的那一行。 –