Shell 删除不重要的单词

Shell 删除不重要的单词,shell,Shell,我有: 包含单词的文件:importantwords.txt(多行,空格分隔,包含单词) 例如: 我有文本文件:01news.txt,…,10news.txt(作为文本的新闻)。 例如: 在收购和分配之间的短时间内,公司执行董事被视为对这些股份感兴趣。该公司宣布,周二发生了与SIP有关的以下交易 现在,我想从01news.txt中删除。。。10news.txt所有不在 importantwords.txt 我怎么能这么做?我和塞德试过,但我是新手。您能帮忙吗?查看*news.txt中的文件 fo

我有: 包含单词的文件:importantwords.txt(多行,空格分隔,包含单词) 例如:

我有文本文件:01news.txt,…,10news.txt(作为文本的新闻)。 例如:

在收购和分配之间的短时间内,公司执行董事被视为对这些股份感兴趣。该公司宣布,周二发生了与SIP有关的以下交易

现在,我想从01news.txt中删除。。。10news.txt所有不在 importantwords.txt

我怎么能这么做?我和塞德试过,但我是新手。您能帮忙吗?

查看*news.txt中的文件
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
做 awk'FNR==NR{for(i=1;i
用于*news.txt中的文件
做

awk'FNR==NR{for(i=1;i)你的文件的形式是什么?它们是英文散文(句子)还是单词列表?你好,彼得,它们都是英文自然文本。关于你的文件的形式是什么?它们是英文散文(句子)或者它们是一个单词列表?你好,彼得,它们都是英文的自然文本。Regards@tina,请记住一件事:如果“WORD”是一个重要的单词,而新闻文件包含“this is a WORD.”(带句点),则“WORD.”将被删除--awk使用空格作为分隔符,而不是标点。@tina,请记住一件事:如果“WORD”是一个重要的单词,并且新闻文件包含“thisaword.”(带句点),然后将删除“word.”——awk使用空格作为分隔符,而不是标点符号。
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