names;x1;x2
jon, doe; 10;20
sam, smith;11;21
我是否知道如何计算每个名称的输入文件中有两个不同列(x1,x2)的平均值,我希望使用shell编程获得所需的结果10.5和20.5。
答案 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