如何从多列中的文本文件中读取数字

时间:2015-10-06 21:39:48

标签: bash shell

names;x1;x2
jon, doe; 10;20
sam, smith;11;21

我是否知道如何计算每个名称的输入文件中有两个不同列(x1,x2)的平均值,我希望使用shell编程获得所需的结果10.5和20.5。

2 个答案:

答案 0 :(得分:2)

 awk -F";" 'NR>1 && NF {records++;x1+=$2;x2+=$3} END{ if(!records){print "No records found"} else{ print "x1="x1/records; print "x2="x2/records; }}' test.test

x1 = 10.5 x2 = 20.5

跳过第一行(NR>1),并跳过空白行(NF)。 它还考虑了没有找到记录的情况

答案 1 :(得分:0)

$ awk -F";" 'NR>1{f2+=$2;f3+=$3;c++} END{print f2/c, f3/c}' file
10.5 20.5