Autor
|
Tema: Bash: imprimir columnas alineadas (Leído 7,041 veces)
|
Ethicalsk
Desconectado
Mensajes: 113
|
Hola que tal gente? Lo que quería era imprimir 3 valores en una misma linea de forma que queden alineados con la linea de abajo. Por ejemplo, si escribo: for valor in 1 2 3; do echo "$nombre[valor] $apellido[valor] %DN[valor]I" done; La salida es: Juan Lopez 38192434 Rodrigo Dominguez 34372374234 Leonardo Perez 20943428323 Y yo quiero: Juan Lopez 38192434 Rodrigo Dominguez 34372374234 Leonardo Perez 20943428323 Espero que puedan ayudarme! saludos.
|
|
|
En línea
|
|
|
|
xiruko
Desconectado
Mensajes: 438
|
for valor in 1 2 3; do echo -e "$nombre[valor]\t$apellido[valor]\t%DN[valor]I" done;
-e -> Hacer que echo interprete los carácteres especiales (los que empiezan con '\') \t -> Tabulación Saludos!
|
|
|
En línea
|
|
|
|
Skali
Desconectado
Mensajes: 100
|
genial! yo también hace mucho que quiero hacer eso y no sabía como
|
|
|
En línea
|
|
|
|
Ethicalsk
Desconectado
Mensajes: 113
|
Uhh hermano, sos un genio! Conocía el parámetro -e y la tabulación pero creí que solo se usaba para añadir un espaciamiento fijo digamos, y que igualmente quedaría todo desordenado, pero ahí probé y anda a la perfección!!! No te imaginas las soluciones raras e ineficientes que utilice para alinearlas, hice que mientras el tamaño de cada variable sea distinto a 25 ponele, ir agregando espacios en blanco, jajaja una locura!! Cargaba todo re lento...
Saludos brother!!!
|
|
|
En línea
|
|
|
|
Ethicalsk
Desconectado
Mensajes: 113
|
No, espera!!! Ahora que lo pruebo con el caso real que estoy tratando de hacer no me anda del todo bien, mira la salida:
|
|
« Última modificación: 14 Noviembre 2015, 06:16 am por Ethicalsk »
|
En línea
|
|
|
|
xiruko
Desconectado
Mensajes: 438
|
Perdona, pensaba que con eso tan simple se solucionaría, supongo que funciona siempre que todas las celdas de la supuesta tabla tengan una longitud parecida, pero si hay algunas más largas que otras entonces deja de funcionar. Puedes probar con el comando column para hacer lo que pides. Por ejemplo, sin el comando column esto es lo que te pasa a ti, que las columnas no están alineadas: Y pasándole la salida de echo al comando column: Saludos!
|
|
|
En línea
|
|
|
|
Ethicalsk
Desconectado
Mensajes: 113
|
Genio de la vida! Jaja, como me vas a pedir perdón por ayudar!? Mil gracias!!! Cuando termine de hacer éste simple script lo publico en el foro para que lo tengan. Como podrás haber notado parsea el archivo donde se definen las system calls y muestra una salida más amigable, y también en hexa... Falta emprolijarlo y demas, pero cuando esté listo se los dejo! Abrazo!!!
|
|
|
En línea
|
|
|
|
xiruko
Desconectado
Mensajes: 438
|
De nada colega, me alegro de que ya funcione!
Es buena idea que cuando acabes el script lo subas aquí para que cualquiera que lo necesite pueda aprender de él.
Saludos!
|
|
|
En línea
|
|
|
|
yMk369
Desconectado
Mensajes: 31
人は何かを成す為に生を受け、成し終えた時、死んで行く
|
Genial, la verdad to tampoco conocía "Column" aca un manpage http://linux.die.net/man/1/columnAhora yo tengo una duda, yo utilizo "notify-send". (por obvias razones) notify-send -e "Informativo de RAM" "RAM usada\tRAM libre\n$var1 MB\t$varl MB" | colum -t -s $'\t' Pero no funciona, escapes siempre los he usado, (aun que solo en el cuerpo del mensaje)¿que me recomiendan?. Saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Bash Script] Imprimir información de PC
Scripting
|
edr89
|
0
|
1,928
|
15 Mayo 2015, 05:25 am
por edr89
|
|
|
¿Se puede imprimir Dos columnas paralelas en C?
Programación C/C++
|
alejandrodiaz
|
1
|
6,521
|
5 Agosto 2015, 02:04 am
por engel lex
|
|
|
[Resuelto] Imágenes en fila alineadas
Desarrollo Web
|
bgnumis
|
1
|
1,672
|
13 Septiembre 2015, 19:01 pm
por bgnumis
|
|
|
Imprimir matrices alineadas a la derecha C
Programación C/C++
|
fernando1122
|
1
|
2,546
|
22 Noviembre 2017, 06:14 am
por do-while
|
|
|
Mostrar frases alineadas extraídas de un archivo [Python]
Scripting
|
NOB2014
|
1
|
2,579
|
28 Noviembre 2017, 04:34 am
por tincopasan
|
|