对比文件

对比文件b中有的,但是文件a中没有的所有行

[root@nagios tmp]# cat a.txt

a

c

d

f

g

j

[root@nagios tmp]# cat b.txt 

a

b

c

d

e

f


法1:

 grep -vxFf a b | tee c | wc -l

法2:先用sort对文件进行排序

[root@nagios tmp]# diff b.txt a.txt|grep '<'

< b

< e


法3:while read line

[root@nagios tmp]# cat test.sh 

#!/bin/bash

cat b.txt|while read line

do

  if [ `grep $line a.txt|wc -l` -eq 0 ];then

    echo $line

  fi

done 


[root@nagios tmp]# sh test.sh 

b

e


你可能感兴趣的:(shell,diff)