2013-12-08 3 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' равно строке, где максимальное количество найденных полей .. –

Смежные вопросы