2013-02-06 4 views
0

하나의 파일 (약 1000 단어)이 있습니다.파일에서 복수 단어 추출하기

1.TXT :

XYZ 

ABC 

DEF 

GHI 

... 

그리고 일부 데이터, 지금은 파일 2.txt에 1.TXT에서이 말을 grep을 할 포함 된 다른 파일 2.txt. 아래의 논리를 사용했지만 오류가 발생했습니다.

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

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

오류가 무엇입니까? 감사합니다. – dogbane

답변

3

그렙이 -f 옵션을 사용하여 파일에서 패턴을 읽을 수 있습니다 : 당신이 따옴표를 필요로하고

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

을 egrep을 사용

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

!! 작동 중입니다. –

+0

옆에있는 체크 표시를 클릭하여 [이 대답 수락] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)하시기 바랍니다. . –

0

하지만 더 -f와 답을

+0

'egrep'은 이미하고있는'grep -E'를 호출하는 또 다른 방법입니다. 인용은 1.txt의 내용에 따라 필요할 수도 있고 아닐 수도 있지만 물론 좋은 생각입니다. – chepner