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