一、需求
在這裡,我簡化一下,因為下午操作這兩個文本都是10幾萬行,但隻過濾出這兩個檔案中含有相同的或不同字元串PPID。
二,步聚
1、檔案ha1
1
2
3
<code>a</code>
<code>b</code>
<code>c</code>
2、檔案ha2
<code>d</code>
3、找出兩個檔案都包含有的字元串PPID
3.1過濾腳本
4
5
6
7
8
9
10
11
12
13
14
15
16
<code>#!/bin/sh</code>
<code>#</code><code>set</code> <code>-x</code>
<code>SRC_FILE=$</code><code>1</code>
<code>TARGET_FILE=$</code><code>2</code>
<code>RESULT_FILE=$</code><code>3</code>
<code>>$RESULT_FILE</code>
<code>while</code> <code>read LINE</code>
<code>do</code>
<code>grep $LINE $TARGET_FILE > /dev/</code><code>null</code>
<code>if</code> <code>[ $? -eq </code><code>0</code> <code>]; then</code>
<code>echo $LINE >> $RESULT_FILE</code>
<code>fi</code>
<code>done < $SRC_FILE</code>
<code>#</code><code>set</code> <code>+x</code>
3.2 執行結果
<code>[root@qingyun]#./filter.sh ha1 ha2 ha3</code>
<code>[root@qingyun]#cat ha3</code>
4、找出其中一個檔案不包字元串PPID
4.1 修改$? 不等于0即可
<code>#set -x</code>
<code>SRC_FILE=$1</code>
<code>TARGET_FILE=$2</code>
<code>RESULT_FILE=$3</code>
<code>while</code> <code>read</code> <code>LINE</code>
<code>grep</code> <code>$LINE $TARGET_FILE > </code><code>/dev/null</code>
<code>if</code> <code>[ $? -</code><code>ne</code> <code>0 ]; </code><code>then</code>
<code>echo</code> <code>$LINE >> $RESULT_FILE</code>
<code>done</code> <code>< $SRC_FILE</code>
<code>#set +x</code>
4.2 執行結果
<code></code>
本文轉自 zouqingyun 51CTO部落格,原文連結:http://blog.51cto.com/zouqingyun/1750069,如需轉載請自行聯系原作者