Ayuda con Buscar y reemplazar expresiones regulares
-
19-09-2019 - |
Pregunta
Tengo un archivo de texto, y cada línea es de la forma:
TAB PALABRA TAB TAB PoS FREC #
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
¿Alguno de ustedes asistentes de expresiones regulares amablemente me ayudar a aislar las palabras del archivo? Voy a hacer un buscar y reemplazar en TextPad, con suerte, y que será eso. hallazgo y reemplaza múltiples está muy bien. Una cosa: se dio cuenta de que la búsqueda de "verbo" también aparecería la PALABRA de "verbo", no sólo la parte del discurso, así que cuidado. Al final quiero terminar con 1 palabra por línea.
Muchas gracias!
Solución
Creo que Microsoft Excel puede ayudar a que una mejor ...
Sólo tienes que copiar todo el texto en Excel y se formatea como tabla a continuación, seguir adelante y seleccionar las celdas de las columnas apropiadas para la palabra, finalmente, copiarlos en la libreta.
Apuesto a que este es el camino más fácil.
Si en caso de Excel almacena todos los valores en una sola columna, en una columna separada extraer la palabra por:
= Trim (LEFT (C1, maxchar))
Otros consejos
Se podía utilizar awk
para eliminar la primera columna, como en
awk '{print $1}' /path/to/filename
Saltar la primera línea mediante el uso de
awk 'NR!=1 {print $1}' /path/to/filename
En realidad no hay ninguna necesidad de utilizar una expresión regular para esto. Por ejemplo, puede utilizar cut
:
cut -f1 <inputfile
Algo así como \s*([a-zA-z]+)\s*([a-zA-z]+)
devolvería la palabra y el punto de venta como grupos. A continuación, puede utilizarlos en la declaración sustituir como $ 1 y $ 2 a la salida como desee.
Si sólo desea la PALABRA parte que se puede utilizar sólo $ 1 en la reemplace.