天天看點

查找兩個檔案包含的字元串或不包含的字元串shell腳本

一、需求

    在這裡,我簡化一下,因為下午操作這兩個文本都是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>&gt;$RESULT_FILE</code>

<code>while</code> <code>read LINE</code>

<code>do</code>

<code>grep $LINE $TARGET_FILE &gt; /dev/</code><code>null</code>

<code>if</code> <code>[ $? -eq </code><code>0</code> <code>]; then</code>

<code>echo $LINE &gt;&gt; $RESULT_FILE</code>

<code>fi</code>

<code>done &lt; $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 &gt; </code><code>/dev/null</code>

<code>if</code> <code>[ $? -</code><code>ne</code> <code>0 ]; </code><code>then</code>

<code>echo</code> <code>$LINE &gt;&gt; $RESULT_FILE</code>

<code>done</code> <code>&lt; $SRC_FILE</code>

<code>#set +x</code>

 4.2 執行結果

<code></code>

本文轉自 zouqingyun 51CTO部落格,原文連結:http://blog.51cto.com/zouqingyun/1750069,如需轉載請自行聯系原作者