查找两个文件包含的字符串或不包含的字符串shell脚本

一、需求

    在这里,我简化一下,因为下午操作这两个文本都是10几万行,但只过滤出这两个文件中含有相同的或不同字符串PPID。

二,步聚

1、文件ha1

1
2
3
a
b
c

2、文件ha2

1
2
3
a
c
d


3、找出两个文件都包含有的字符串PPID

   3.1过滤脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/sh
#set -x
SRC_FILE=$1
TARGET_FILE=$2
RESULT_FILE=$3
 
>$RESULT_FILE
 
while read LINE
do
grep $LINE $TARGET_FILE > /dev/null
if [ $? -eq 0 ]; then
echo $LINE >> $RESULT_FILE
fi
done < $SRC_FILE
#set +x

  3.2 执行结果

1
2
3
4
[root@qingyun]#./filter.sh ha1 ha2 ha3
[root@qingyun]#cat ha3
a
c


4、找出其中一个文件不包字符串PPID

 4.1 修改$? 不等于0即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/sh
#set -x
SRC_FILE=$1
TARGET_FILE=$2
RESULT_FILE=$3
 
>$RESULT_FILE
 
while read LINE
do
grep $LINE $TARGET_FILE > /dev/null
if [ $? -ne 0 ]; then
echo $LINE >> $RESULT_FILE
fi
done < $SRC_FILE
#set +x

 4.2 执行结果

1
2
3
[root@qingyun]#./filter.sh ha1 ha2 ha3
[root@qingyun]#cat ha3
b










本文转自 zouqingyun 51CTO博客,原文链接:http://blog.51cto.com/zouqingyun/1750069,如需转载请自行联系原作者
上一篇:一起学Shell(十)之可称植性议题与扩展


下一篇:html5界面手机播放mp3