awk 计算各列的平均值 15

除了第一列后面的每一列都计算一下平均值,最大值或者最小值。列数不固定,下面这个只是个例子a10029944899a10029944899a10029944899a1002... 除了第一列后面的每一列都计算一下平均值,最大值或者最小值。列数不固定,下面这个只是个例子
a 100 299 448 99
a 100 299 448 99
a 100 299 448 99
a 100 299 448 99
a 100 299 448 99
展开
 我来答
charleszhangji
2016-10-19 · TA获得超过4554个赞
知道小有建树答主
回答量:887
采纳率:0%
帮助的人:962万
展开全部
用awk来计算,用一个关联数组sum来计算列 的数据和,假设文件为file.txt
awk '
{
for (i=2;i<=NF;++i)
{
sum[i]+=$i
if (NR == 1 || min[i] > $i) { min[i] = $i }
if (NR == 1 || max[i] < $i) { max[i] = $i}
}
colum = NF;
row = NR
}
END {
printf ("average: ");
for (i=2; i<= colum; ++i)
{
printf("%f ", sum[i]/row);
}
print ""

printf ("max: ");
for (i=2; i<= colum; ++i)
{
printf("%s ", max[i]);
}
print ""
printf ("min: ");
for (i=2; i<= colum; ++i)
{
printf("%s ", min[i]);
}
print ""
}
' file.txt
追问
大神 能写清楚一点不,组合不到一起啊
追答

直接拷贝复制到文本里面,执行就好了,注意最后那个读入文件要自己改成你的文件名。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式