我想用列分隔符“;”计算 CSV 文件中某一列的平均值。如何使用 awk 等 Linux 命令行工具来执行此操作?
例子:
foo;1;test
bar;3;hello
列的平均值2
是2
。
快速搜索“ 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
让我们想想,你有 csv 文件 1.csv。命令应如下所示:
cat 1.txt | awk -F';' '{sum+=$2} END {print sum/NR}'