1

我想用列分隔符“;”计算 CSV 文件中某一列的平均值。如何使用 awk 等 Linux 命令行工具来执行此操作?

例子:

 foo;1;test
 bar;3;hello

列的平均值22

4

2 回答 2

8

快速搜索“ bash average ”作为第一个结果:Compute simple average using AWK

为您的用例整理,它是:

$ awk -F';' '{sum+=$2; ++n} END { print "Avg: "sum"/"n"="sum/n }' < /tmp/yourdata
Avg: 4/2=2
于 2013-09-10T19:04:17.467 回答
2

让我们想想,你有 csv 文件 1.csv。命令应如下所示:

   cat 1.txt | awk -F';' '{sum+=$2} END {print sum/NR}'
于 2013-09-10T18:59:30.443 回答