awk - 计算文件内容

时间:2012-03-11 20:56:44

标签: shell awk

我想创建一个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 个答案:

答案 0 :(得分:2)

$ awk 'BEGIN { print ARGC - 1 }' file1 file2 file3
3

答案 1 :(得分:2)

如果您有GNU awk,还有:

gawk 'BEGINFILE {n++; nextfile} END {print n}' *