1 votos

Fijar el archivo de texto de doble espacio separado a ficha separado

Yo he estado tratando de filtrar un archivo de texto, pero no han sido capaces de hacerlo.. me he dado cuenta de la razón por la que no soy capaz de filtrar es porque lo que pensé fue catalogado como

Word '\t' phoneme
Word '\t' phoneme
Word '\t' phoneme
Word '\t' phoneme

no es siempre pestaña separada. Algunas de las entradas son separados por dos el espacio, y otros están separados por tab.

Es posible cambiar todos los espacios entre las palabras y los fonemas de la ficha?

<oov> <oov>
A  AH0
A  EY1
A''S    EY1 Z
A'BODY  EY1 B AA2 D IY0
A'COURT EY1 K AO2 R T
A'D EY1 D
A'GHA   EY1 G AH0
A'GOIN  EY1 G OY1 N
A'LL    EY1 L
A'M EY1 M
A'MIGHTY    EY1 M AY1 T IY0
A'MIGHTY'S  EY1 M AY1 T IY0 Z
A'MOST  EY1 M OW2 S T
A'N'T   EY1 AH0 N T
A'PENNY EY1 P EH2 N IY0
A'READY EY1 R IY1 D IY0
A'RIGHT EY1 R AY2 T
A'RONY  EY1 R OW1 N IY0
A'S  EY1 Z
A'TER   EY1 T ER0
A'TERNOON   EY1 T ER0 N UW1 N

3voto

ilkkachu Puntos 141

Suponiendo que se desea reemplazar la primera secuencia de espacios en blanco en una línea con una sola ficha, esto funciona con GNU sed:

$ sed -Ee 's/[ \t]+/\t/' lexicon
<oov>   <oov>
A       AH0
A       EY1
A''S    EY1 Z
A'BODY  EY1 B AA2 D IY0
...

Añadir un g después del final de la barra para cambiar todos los espacios en blanco se ejecuta a una sola de las fichas.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: