Shell下 文件行合并 和行内数据求和
#!/bin/bash
paste *.dat > f0.dat
awk '{for (i=1; i<= NF; i++) sum += $i;print sum > “output.log”; sum=0; } ’ f0.dat
paste为将当前目录下文件进行行合并的命令,
awk语句将合并的数据文件f0.dat进行行内求和,并将结果输出在output.log文件中。网上查到的该方法没有sum=0这句,因此,按照网上的方法得不到正确的结果,这里添加了sum=0之后,计算完成每一行后,变量sum清零。
NF变量在awk里面的意思是当前记录的字段数,字段数可以理解为域的数量( 也可以理解为一行有多少个单词),如果一行以你指定的分隔符有4个域,那么NF为4。
阅读(389) | 评论(0) | 转发(0) |