awk - подсчет содержимого файлов - PullRequest
2 голосов
/ 12 марта 2012

Я хочу создать скрипт awk, который подсчитывает, сколько файлов имеет аргументы, если я использую счетчик BEGIN или END, результат всегда будет 1; Объединяет ли awk файлы, которые я даю в качестве параметров?

Следующий скрипт выводит «1» независимо от того, сколько файлов я передаю в качестве аргументов («n» будет использоваться для подсчета количества слов во всех файлах)

BEGIN {nrFiles++}
{ n+=NF}
END {print nrFiles}

И окончательный результат:

{ n+=NF}
END {print "Number of files=",ARGC-1, "\nNumber of words=",n,"\nMean number of words=",n/(ARGC-1)   }

Спасибо за ваше время

Ответы [ 2 ]

2 голосов
/ 12 марта 2012

Если у вас есть GNU awk, есть также:

gawk 'BEGINFILE {n++; nextfile} END {print n}' *
2 голосов
/ 12 марта 2012
$ awk 'BEGIN { print ARGC - 1 }' file1 file2 file3
3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...