日期:2014-05-16  浏览次数:20651 次

请教如何匹配两个文件部分内容相同的行
大家好:
    我现在有两个文件 a.txt和b.txt。
a.txt内容如下:
10.239.213.12
10.239.213.14
10.239.213.15
10.239.213.16
10.239.213.17
...........

b.txt内容如下:
rule 206 permit ip source address-set oaserverbeiqu destination 10.239.213.57 0
 rule 208 permit ip source address-set oaserverbeiqu destination 10.239.216.58 0
    ip address-set oaserverbeiqu
    address 0 10.239.201.133 0 
    address 1 10.239.201.144 0 
    address 2 10.239.201.155 0 
    address 3 10.239.201.180 0 
    -------------------------
  rule 210 permit ip source address-set oaserverbeiqu2 destination 10.239.213.22 0
..............


....不是文本的内容,表示下面还有更加的IP及内容。

我想在 b.txt找出不包括在a.txt中的IP内容的行 或包括在a.txt中的IP内容的行分别存放到两个文件diff.txt 和 same.txt中。
请问这个匹配脚本命令该怎么写呢,我试过 egrep -f a.txt b.txt ,但结果不正确。
还望各位多指教,谢谢!

------解决方案--------------------
grep -Ff a.txt b.txt >same.txt
grep -vFf a.txt b.txt >diff.txt


------解决方案--------------------
命令行楼主可以看grep命令的各种参数。另外推荐楼主用vimdiff同时打开这两个文件,差异一下就看出来了,当然linux也有图像对比的工具,kdiff非常不错