贝壳爱好者们好!
基本上我有两个文件:
frequency.txt:(多行,空格分隔的文件,包含单词和频率)
de 1711
a 936
et 762
la 530
les 482
pour 439
le 425
...
我有一个文件包含“禁止”的词:
stopwords.txt:(单行,空格分隔文件)
au aux avec le ces dans ...
所以我想从 * frequency.txt * 中删除所有包含在 stopwords.txt 中找到的单词的行
我怎么能那样做呢?我想可以用awk来做......就像
awk 'match($0,SOMETHING_MAGICAL_HERE) == 0 {print $0}' frequency.txt > new.txt
但是我真的不确定......有什么想法吗??谢谢你提前告诉我。
4条答案
按热度按时间wfauudbj1#
yrwegjxp2#
这将为您做到这一点:
-v用于反转匹配
-w仅适用于全字匹配
-F表示模式是一组以换行符分隔的固定字符串
-f从stopwords.txt文件中获取模式字符串
如果你对此有困难,因为它是用空格分隔的,你可以用tr把空格替换成换行符:
p3rjfoxz3#
-w
到grep
对于避免例如stopwords.txt中的le
删除包含le
的词(如less
或little
)至关重要。zsbz8rwp4#