- 论坛徽章:
- 0
|
目前我是这样理解楼主的逐行处理的,不知道楼主是不是这样的意思:
读入file1第1行,读入file2第1行,两者判断,然后打印
读入file1第2行,读入file2第2行,两者判断,然后打印
。。。。。。。。
如果是这样,两者不同需排序时可以这样
- [root@Mylinux tmp]# cat file1
- A 1 name1-1 name2-1
- A 4 name3-1 name9-1
- A 5 name7-1 name6-1
- [root@Mylinux tmp]# cat file2
- A 1 name1-2 name2-2
- A 3 name3-2 name9-2
- A 5 name7-2 name6-2
- [root@Mylinux tmp]# awk '{getline v <"file2";if (v~"^"$1" +"$2) print "F1",$0"\tF2",v;else {split($0,M," +");split(v,N," +");if (M[2]<N[2]){print "F1",$0;print "F2",v}else {print "F2",v;print "F1",$0}}}' file1
- F1 A 1 name1-1 name2-1 F2 A 1 name1-2 name2-2
- F2 A 3 name3-2 name9-2
- F1 A 4 name3-1 name9-1
- F1 A 5 name7-1 name6-1 F2 A 5 name7-2 name6-2
复制代码
如果不是这样行一一对应的关系,感觉还是要用到数组好处理
[ 本帖最后由 ywlscpl 于 2009-11-25 11:12 编辑 ] |
|