El poder de la línea de comandos



Supongamos que tenes el siguiente texto en un archivo:
Juan Perez jperez@mail.com El Salvador
Maria Lopez mlopez@email.com Guatemala


y necesitas un comando que te genere lo siguiente:
  Juan Perez,jperez@mail.com,El Salvador
Maria Lopez,mlopez@email.com,Guatemala


Basicamente unir tres líneas en una sola para crear un registro con campos separados por comas. Primero necesitas quitar las líneas en blanco para que no interfieran con la separación de los registros:
  grep -v "^$" archivo.txt > archivo_sin_lineas_vacias.txt 


Luego con el comando sed reemplazar los saltos de línea por una coma cada dos líneas y el tercer salto dejarlo tal y como está:
  sed '1~3 {N;N;s/\n/,/g}' archivo_sin_lineas_vacias.txt > archivo.csv 


Con tuberías queda así: 
grep -v "^$" archivo.txt | sed '1~3 {N;N;s/\n/,/g}' > archivo.csv

Comments

Popular posts from this blog