新人求教:Linux 中如何计算文本中第一列的和以及求第1,2列的平均值?

新人求教:Linux 中如何计算文本中第一列的和以及求第1,2列的平均值?,第1张

假设你的数据时存储在一个文件中,文件名字为test.txt

第一列的和:

cat test.txt | awk '{sum1+= $1}END{print sum1}'

第一列和第二列的平均值

cat test.txt | awk '{sum1+=$1sum2+=$2count++}END{print sum1/count,sum2/count}'

额,目测没有这样的程序。

不过可以自己写一个c的实现

#include <stdio.h>

#include <stdlib.h> 

int main(int argc, char *argv[])

{

    int i, res = 0 

    for (i = 1 i < argc i++)

         res += atoi(argv[i])

    printf("%d", res) 

    return 0 

}

匆忙写的,可能有问题,见谅。

编译后用 ./a.out 1 2 3 4 5...... numberN调用即可。

awk 'pass==1 { count[$1,$2]++ } 

     pass==2 { if(count[$1,$2]>1) print }'  pass=1 FILENAME  pass=2 FILENAME

pass==1 和pass==2后面的FILENAME为同一文件名


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/5900642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存