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!

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top