Como posso analisar um arquivo e manter apenas certas palavras?

0

Digamos que eu tenha uma lista de palavras que desejo manter.

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

Eu quero ser capaz de passar por um arquivo de texto, manter cada palavra na minha lista e enviar o novo conteúdo limpo para um novo arquivo. Por exemplo:

tem:

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

deseja:

hi name name first
    
por ADJ 17.03.2015 / 04:44

1 resposta

2

Se você tiver as palavras em um arquivo separado, uma por linha, poderá usar grep :

grep -oFf word-list.txt input-file
  • -o imprime apenas sequências de correspondência
  • -F trata os padrões como sequências fixas em vez de expressões regulares
  • -f file lê padrões de um arquivo.

Com 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())))
    
por muru 17.03.2015 / 05:23