红联Linux门户
Linux帮助

linux实现两个文件内容相加

发布时间:2007-07-12 22:13:40来源:红联作者:JulyOecber
a.txt
0 3
0 9
0 10
0 8
0 10
0 14
0 7
0 10
2 5
0 8

b.txt
1 80
1 68
0 118
24 187
1 120
68 213
5 125
197 223
7 141

用SHELL实现这两个文件的同一字段的相加:结果如a.txt + b.txt:
1 83
1 77
1 127
……

解决方法如下:
一、
awk 'NR==FNR{a[NR]=$1;b[NR]=$2}
NR>FNR{print $1+a[FNR],$2+b[FNR]} ' a.txt b.txt

二、
while read -u3 a b && read -u4 c d;do
echo $((a+c)) $((b+d))
done 3newfile

三、
awk '{print $1+$3" "$2+$4}' <(paste file1 file2)
文章评论

共有 2 条评论

  1. 武大小强 于 2010-03-23 07:25:53发表:

    呵呵。。赞一个。。

  2. frewise 于 2010-03-22 09:38:16发表:

    感谢,正好用到!