Tengo un archivo .txt con números ordenados de esta manera (en la misma fila):
106849_01373 106849_01967 106850_00082 23025.7_01059
Me gustaría convertirlos así:
106849_01373
106849_01967
106850_00082
23025.7_01059
No tengo idea de qué comando usar. puede alguien ayudarme con esto?
command-line
text-processing
Annemieke Smet
fuente
fuente

Bastante fácil con
tr:Ejemplo:
fuente
La respuesta de heemayl es el camino a seguir, sin embargo, aquí hay una alternativa con Perl:
-l: habilita el procesamiento automático de final de línea. Tiene dos efectos separados. Primero, automáticamente divide $ / (el separador de registro de entrada) cuando se usa con -n o -p. En segundo lugar, asigna $ \ (el separador de registro de salida) para tener el valor de octnum, de modo que cualquier declaración de impresión tendrá ese separador agregado nuevamente. Si se omite octnum, establece $ \ en el valor actual de $ /.-a: activa el modo de división automática cuando se usa con -n o -p. Un comando de división implícito para la matriz @F se realiza como lo primero dentro del bucle while implícito producido por -n o -p.-n: hace que Perl asuma el siguiente ciclo alrededor de su programa, lo que lo hace iterar sobre argumentos de nombre de archivo algo así como sed -n o awk:-e: puede usarse para ingresar una línea de programa;$,="\n": establece el separador de campo de salida en una nueva línea;print(@F): imprime los campos separados por el separador de campo de salida.fuente
AWKAcercarse. Básicamente, cambiar el separador de salida para campos y bucles. El archivo de prueba es su ejemplo pegado una y otra vez con ENDLINE al finalfuente
Utilizando
sed:fuente
Solo agrego una solución de Python por diversión:
Este comando ejecuta el script de Python 3 de una línea en 'comillas simples' con el nombre de archivo que desea convertir como argumento al final. La sintaxis es así:
El script de 1 línea que utilizamos es el siguiente (expandido a varias líneas para mayor claridad):
Importa el
sysmódulo para leer argumentos de línea de comandos, toma el primer argumento dado como nombre de archivo para abrir e imprime cada fragmento de datos separados por espacios en blanco del archivo en una sola línea.fuente