2017-05-26 226 views
-5

我有兩個文本文件,如下圖所示:Linux的比較兩個文本文件

FILE1.TXT

A|234-211 
B|234-244 
C|234-351 
D|999-876 
E|456-411 
F|567-211 

FILE2.TXT

234-244 
999-876 
567-211 

我想比較這兩個文件並獲得如下所示的值:

Dequired輸出

B|234-244 
D|999-876 
F|567-211 
+0

'diff File1.txt File2.txt' –

+0

可能重複[grep,awk或sed?在另一個文件中匹配模式的一個文件中打印行](https://stackoverflow.com/questions/21388825/grep-awk-or-sed-print-lines-in-one-file-matching-patterns-in-another-文件) –

回答

2
$ grep -F -f file2.txt file1.txt 
B|234-244 
D|999-876 
F|567-211 

-F使得用於固定的字符串(未圖案)的grep搜索。 -F-f都是POSIX optionsgrep

請注意,假設您的file2.txt不包含像11這樣可能導致誤報的短字符串。

+0

不能正常工作返回F | 567-211 – Kavinda

+0

@Kavinda是的,它工作。顯示的輸出正是我對您指定的輸入文件的結果。將我的命令剪切並粘貼到您的命令行中,您可以驗證。如果它不適合你,你的輸入文件不是你向我們展示的。 – Jens

+0

非常感謝你工作好:) – Kavinda

0

嘗試:

grep -f File2.txt File1.txt 
+0

不能正常工作返回F | 567-211 – Kavinda