2013-02-06 56 views
0

我有一個文件(大約1000個單詞)。從文件中清除多個單詞

的1.txt:

XYZ 

ABC 

DEF 

GHI 

... 

而且我還有一個文件2.txt其中包含了一些數據,現在我想在的1.txt在文件2.txt到grep這些話。 我已經使用了下面的邏輯,但給出了一個錯誤。

name=$(cat 1.txt |tr '\n' '|') 

grep -E -w ${name} 2.txt 
+1

什麼是錯誤? – dogbane

回答

3

grep的可以使用-f選項從文件中讀取模式:

egrep -w -f 1.txt 2.txt 
+0

謝謝!!它的工作 –

+0

偉大的,請[接受這個答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)點擊旁邊的勾號。 –

0

您需要的報價和使用egrep的

egrep -w "$(cat 1.txt |tr '\n' '|')" 2.txt 

但-f是更好的答案

+0

'egrep'是調用'grep -E'的另一種方式,他已經在做。根據1.txt的內容,引用可能需要也可能不需要,但當然是一個好主意。 – chepner