2011-02-11 52 views
1

我有: 与字的文件:importantwords.txt(多行,空间分离的,含有字) 实施例:删除不重要的话

ALMOST 
APPARENTLY 
COULD 
DEPEND 
. 
. 
. 

和我有文本文件:01news.txt ,. ..,10news.txt(新闻为文本)。 实施例:

期间的采集和分配之间的时间周期短,该公司执行董事被认为是感兴趣的那些股票。本公司宣布,星期二有关SIP的以下交易发生。

现在,我想从01news.txt,... 10news.txt所有

我怎么能这样做其不在 importantwords.txt的话要删除?我用sed试过,但我是新手。你能帮忙吗?

+1

什么是你的文件的形式?他们是英文散文(句子)还是他们是一个单词列表? – 2011-02-11 07:47:16

+0

彼得你好,他们都是英文的自然文本。问候 – Tina 2011-02-11 08:49:08

回答

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