2011-02-11 2 views
1

내가 가진 : 단어를 가진 파일 : importantwords.txt (여러 줄, 분리 공간을 포함하는 단어) 예 :삭제하지 않는 것이 중요 단어

ALMOST 
APPARENTLY 
COULD 
DEPEND 
. 
. 
. 

내가 텍스트 파일이 있습니다 01news.txt를 ,. .., 10news.txt (뉴스로서의 텍스트). 예 :

인수 및 할당 사이의 짧은 기간 동안 회사의 상임 이사는 해당 주식에 관심이있는 것으로 간주됩니다. 회사는 화요일에 SIP와 관련하여 다음 거래가 발생했다고 발표했습니다.

는 지금, 나는 01news.txt, ... 10news.txt 내가 어떻게 할 수

importantwords.txt에없는 단어를 모두에서 삭제할? 나는 sed와 함께 그것을 시도했지만, 나는 초보자입니다. 제발 도와 줄 수있어?

+1

파일 형식은 무엇입니까? 그들은 영어 산문 (문장)인가요 아니면 단어 목록입니까? –

+0

안녕 피터, 그들은 모두 자연 텍스트로 영어로되어 있습니다. 감사합니다 – Tina

답변

1
for file in *news.txt 
do 
    awk 'FNR==NR{for(i=1;i<=NF;i++) impt[$i];next } 
    { 
     for(j=1;j<=NF;j++) { 
     if (toupper($j) in impt) { 
      printf "%s ", $j 
     } 
     } 
     print ""  
    } ' importantwords.txt $file > tmp && mv tmp $file 

done 
+0

안녕하세요, @ kurumi : 그것은 완벽하게 작동합니다 :-). 고맙습니다! – Tina

+0

@tina,이 대답을 수락하는 것을 잊지 마십시오 :) – sarnold

+0

@tina, 기억할 한 가지 : "WORD"가 중요한 단어이고 뉴스 파일에 "이것은 단어입니다." (마침표 사용), "단어". awk는 구두점이 아닌 구분 기호로 공백을 사용합니다. –

관련 문제