前两天有一人问我一问题,如果有两个文件A和B,要求达到如下效果,把A有而B没有的记录,B有而A没有的记录和A与B都有的记录都列出来,而且A,B存的为电话本,大约有千万的记录。
可惜当时没什么映像,来了一句DIFF可以试下的,但别人表出不满,难道要我自己定一个东西不成,回来MAN一把看看吧。
[root@logser tmp]# cat a b
1234567
2345678
3456789
4567890
5678901
6789012
7890123
8901234
9012345
0123456
abcde
234567
2345678
456789
4567890
678901
89012
7890123
8901234
12345
0123456
1234567
2345678
3456789
4567890
5678901
6789012
7890123
8901234
9012345
0123456
abcde
[root@logser tmp]#
diff结果如下:
[root@logser tmp]# diff a b
0a1,11
> 234567
> 2345678
> 456789
> 4567890
> 678901
> 89012
> 7890123
> 8901234
> 12345
> 0123456
>
结果显然不行啦
再MAN 看到有如下提示
SEE ALSO
cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
那就换个试一下吧
comm 一下吧
[root@logser tmp]# comm a b
1234567
234567
2345678
3456789
456789
4567890
5678901
678901
6789012
7890123
89012
7890123
8901234
12345
0123456
1234567
2345678
3456789
4567890
5678901
6789012
7890123
8901234
9012345
0123456
abcde
[root@logser tmp]#
可惜,呵呵,遇到重复记录就不行啦。不过,在没有重复记录,应付一般使用情况还是够的了,
想想对方也是SA,估计是问这个命令吧,可惜我当时想得太多了,竟然要求逐一比较,
阅读(479) | 评论(0) | 转发(0) |