Lo que comenta vk496 es que se puede formatear de forma sencilla usando awk.
He hecho varias pruebas y esto es lo que he sacado con awk.
Debes tener en cuenta el tamaño máximo de cada valor de la tabla. Asi pues yo he deducido al alza que el nombre no debería exceder los 35 caracteres, el domicilio los 35 caracteres me parece tb bien, el teléfono unos 9 o 10 caracteres por si las moscas le puse 12 y el etc a saber, te toca a ti.
Intenta mirar otros tipos de resultados dependiendo de tus valores en el csv.
Usando el comando awk como
En este caso cogemos la primera linea del archivo entrada.csv y se lo pasamos a awk que detecta la separación de las comas con -F, y luego imprime las 4 primeras columnas de la forma en la que le dice el printf. El primero %-35s significa que pilla $1 y lo usa como string y le pone al final los necesarios espacios hasta llegar a 35 caracteres. Si se excede pues no pone nada.
El resto de parámetros es lo mismo. El único problema es que necesitas una pantalla grandecita para poder ver contenido real. Un nombre puede ser muy largo y no solo un "asds".
Luego el sed quita los ".
asi que en general creo que se puede usar algo como:
Supongo que ajustarlo es cosa tuya.
He hecho varias pruebas y esto es lo que he sacado con awk.
Debes tener en cuenta el tamaño máximo de cada valor de la tabla. Asi pues yo he deducido al alza que el nombre no debería exceder los 35 caracteres, el domicilio los 35 caracteres me parece tb bien, el teléfono unos 9 o 10 caracteres por si las moscas le puse 12 y el etc a saber, te toca a ti.
Intenta mirar otros tipos de resultados dependiendo de tus valores en el csv.
Usando el comando awk como
Código (bash) [Seleccionar]
head -n1 entrada.csv|awk -F, '{printf "%-35s\t%-35s\t%-10s\t%-35s\n", $1, $2, $3, $4}'|sed "s/\"//g"
En este caso cogemos la primera linea del archivo entrada.csv y se lo pasamos a awk que detecta la separación de las comas con -F, y luego imprime las 4 primeras columnas de la forma en la que le dice el printf. El primero %-35s significa que pilla $1 y lo usa como string y le pone al final los necesarios espacios hasta llegar a 35 caracteres. Si se excede pues no pone nada.
El resto de parámetros es lo mismo. El único problema es que necesitas una pantalla grandecita para poder ver contenido real. Un nombre puede ser muy largo y no solo un "asds".
Luego el sed quita los ".
asi que en general creo que se puede usar algo como:
Código (bash) [Seleccionar]
head -n1 entrada.csv|awk -F, '{printf "%-35s\t%-35s\t%-10s\t%-35s\n", $1, $2, $3, $4}'|sed "s/\"//g"
grep $dat $txt|awk -F, '{printf "%-35s\t%-35s\t%-10s\t%-35s\n", $1, $2, $3, $4}'|sed "s/\"//g"
Supongo que ajustarlo es cosa tuya.