我有一个文件,其中包含如下所示的数据行
300,,,292,15.4,0,04/16/12 20:10:39
200,,,292,15.4,0,04/16/12 20:10:39
100,,,292,15.4,0,04/16/12 20:10:39
使用awk我正在总结像这样的第一列
awk -F ',' '{ x = x + $1 } END { print x }' MyFile
哪个重新调整600没问题。
我想修改此命令以计算文件中的行数,然后代替{ print x }
我想要{ print x / y }
,其中y是文件中的行数。
所以它会返回600/3 = 200。
答案 0 :(得分:4)
到目前为止处理的记录数目是NR:
awk -F, '{ x += $1 } END { print x " " x/NR }' MyFile
NR计算所有已处理的文件;在这里,这是一个单独的文件。至少在awk
的某些版本中还有FNR;它计算当前文件中处理的记录数。在这个例子中,NR == FNR,因为只有一个文件。
答案 1 :(得分:0)
你为number of records尝试了NR吗?
awk -F ',' '{ x = x + $1 } END { print x/NR }' MyFile