我想使用grep和stopword-file来从另一个文件中过滤出常见的英文单词。 文件“somefile”每行包含一个字。
cat somefile | grep -v -f stopwords
这种方法的问题是:它检查停用词中的单词是否出现在某个文件中,但我想要相反的,即检查停用词中是否出现某个文件中的单词。
这个怎么做?
例
如何使用bash将一行文本添加到文件的中间?
只打印匹配的单词和下一个单词
希望得到唯一匹配的grep
如何用grep修剪特定的文本
如何索引文本文件以提高grep时间
somefile包含以下内容:
hello o orange
停用词包含以下内容:
o
我想只从somefile中过滤掉单词“o”,而不是“hello”和“orange”。
grep输出在bash脚本中只打印单行
如何将两个search词与“grep”(AND)
比赛结束后grep
如何从文件中find单词到另一个文件? linux的
如何在linux的特定时间戳范围内logging日志文件的内容?
我想了一下,找到了一个解决方案…
使用grep的-w开关来匹配整个单词:
grep -v -w -f stopwords somefile
假设你有文件/ tmp / words:
in the
你可以通过它创建sed程序:
sed 's|^|s/\<|; s|$|\>/[CENSORED]/g;|' /tmp/words > /tmp/words.sed
这样你会得到/tmp/words.sed:
s/<in>/[CENSORED]/g; s/<the>/[CENSORED]/g;
然后用它来审查任何文本文件:
sed -e -f /tmp/words.sed /input/file/to/filter.txt > /censored/output.txt
-e需要sed来理解识别所需的扩展正则表达式。 当然,如果你愿意的话,你可以把[censored]改成任何其他的字符串或空字符串。
这个解决方案将处理许多单词以及每行文件一个字。
总结以上是内存溢出为你收集整理的使用grep从停用词文件中过滤出单词全部内容,希望文章能够帮你解决使用grep从停用词文件中过滤出单词所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)