如何解析文件并仅保留某些单词?

如何解析文件并仅保留某些单词?

假设我有一个想要保留的单词列表。

list=['hi','name','first']

我希望能够浏览文本文件,保留列表中的每个单词,并将新清理的内容输出到新文件。例如:

有:

hi my name is Mike. Please write your name here first and then sign there.

想:

hi name name first

答案1

如果您将这些单词放在单独的文件中,每行一个,则可以使用grep

grep -oFf word-list.txt input-file
  • -o仅打印匹配的字符串
  • -F将模式视为固定字符串,而不是正则表达式
  • -f file从文件读取模式。

使用python:

#! /usr/bin/env python3

import sys
words=['hi','name','first']
for line in sys.stdin:
    print(' '.join(filter(lambda x: x in words, line.split())))

相关内容