2013-12-08 68 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'的值等於找到的最大字段數的那一行。 –