2016-07-12 6 views
0

私はUNIXを初めて使用しています。私はパターンがfile2の中であれば、file1から一致しないパターンをgrepしたい。実際のファイルは1000行以上あります。Unix - Grepを使用して不一致の行を取得する

例:

File1: 
Hi(Everyone) 
How(u)people(are)doing? 
ThanksInadvance 

File2: 
Hi(Every 
ThanksI 

必要な結果:

How(u)people(are)doing? 

私はgrep.Itから比類のない行を返す必要がありますのみパターンが( "こんにちは(すべて")のように使用することにしたいです。FILE1

答えて

4

この行は、与えられた例のために働く:

grep -Fvf file2 file1 
01上記で使用

3つのオプション:

-F makes grep do fixed-string match 
-v invert matching 
-f get patterns from file 
+0

おかげでケントは。それは作業が、何File1の場合されてFile1からすべての行を返す必要がありますファイル2には(Greatのような)行が含まれています。 – Sibikrish

+0

@Sibikrishここでは働いています。 'F'は正規表現の代わりにリテラルマッチを行います。 – Kent

+0

オオプス申し訳ありませんが、あなたがケントに感謝しています。しかし、それはmです例:もしfile1:HelloHi(Everyone)file2:こんにちは(Every、grep -Fvfはそれを削除しています。 – Sibikrish

0

Grepのフラッグ-vは、Grepの-コマンドを反転。

cat File1 |grep -v ("Hi(Every") 

は( "こんにちは(すべて")のdoesntが含まれています。

よろしく、

+0

Georgに感謝しますが、私はfile2の複数行のコードが必要です。 – Sibikrish

関連する問題