Assistência com localizar e substituir Regex
-
19-09-2019 - |
Pergunta
Eu tenho um arquivo de texto, e cada linha é da forma:
TAB PALAVRA POS TAB TAB FREQUENTE #
Word PoS Freq
the Det 61847
of Prep 29391
and Conj 26817
a Det 21626
in Prep 18214
to Inf 16284
it Pron 10875
is Verb 9982
to Prep 9343
was Verb 9236
I Pron 8875
for Prep 8412
that Conj 7308
you Pron 6954
Será que um de vocês REGEX assistentes gentilmente me ajudar a isolar as palavras do arquivo? Eu vou fazer um localizar e substituir em TextPad, esperançosamente, e que vai ser isso. Multiple achado e substitui é bom. Uma coisa: aviso de que a pesquisa de "verbo" também iria transformar-se a palavra de "verbo", e não apenas a parte do discurso, por isso tenha cuidado. No final, eu quero acabar com uma palavra por linha.
Muito obrigado!
Solução
Eu acho que o Microsoft Excel pode ajudá-lo a que melhor ...
copiar apenas o texto inteiro em excel e será formatado como tabela, em seguida, vá em frente e selecione as células da coluna apropriadas para a palavra, finalmente, copiá-los no bloco de notas.
Eu aposto que este é o caminho mais fácil.
Se no caso Excel armazena todos os valores em uma única coluna, em um extrato coluna separada da palavra por:
= guarnição (ESQUERDA (C1, maxchar))
Outras dicas
Você pode simplesmente usar awk
para remover a primeira coluna, como em
awk '{print $1}' /path/to/filename
Ir a primeira linha usando
awk 'NR!=1 {print $1}' /path/to/filename
Não há realmente qualquer necessidade de usar uma expressão regular para isso. Por exemplo, você pode usar cut
:
cut -f1 <inputfile
Algo como \s*([a-zA-z]+)\s*([a-zA-z]+)
voltaria a palavra e PoS como grupos. Você pode usá-los na instrução substituir $ 1 e US $ 2 para a saída como você deseja.
Se você só quer que a palavra parte você pode simplesmente usar $ 1 na substituir.