1

我有一个文件,其中包含如下数据行

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。

4

2 回答 2

4

到目前为止处理的记录数在 NR 中:

awk -F, '{ x += $1 } END { print x " " x/NR }' MyFile

所有处理的文件的 NR 计数;在这里,这是一个文件。至少在某些版本中还有 FNR awk;计算当前文件中处理的记录数。在此示例中,NR == FNR 始终是因为只有一个文件。

于 2012-04-16T19:19:35.077 回答
0

您是否尝试过 NR的记录数

awk -F ',' '{ x = x + $1 } END { print x/NR }' MyFile
于 2012-04-16T19:20:05.587 回答