如果一个a.txt文件中有一行数据,每个用空格隔开的:1 2 5 23 4 77 23 4 6 那么可以用awk计算一行的数据求和awk ' { for (i=1; i<= NF; i++) sum += $i; print sum; }' a.txt 就会输出一行的求和结果。如果有多行的话,上面的程序会输出每一行的求和结果。
cat test1 1 1 1 2 2 2 2 3 3 3 3 awk '{for(i=1; i<= NF; i++)sum+=$i;print sum;}sum=0' test //每行相加4812 awk '{for(i=1; i<= NF; i++)sum+=$i;print sum;}' test //前面行的总值加当前行。4122412 =8+4,24=12+8+4自己看,能看懂吧!