Bash dispone del comando echo para mostrar texto por el terminal. No obstante, en ocasiones este comando se nos puede quedar corto y se hace excesivamente elaborado formatear ciertas cadenas de texto a nuestro gusto.
Para estos cometidos, el comando interno de bash printf será de gran ayuda dado que funciona de forma bastante similar a printf de C.
#!/usr/bin/env bash printf "%-7s %-6s %-4s\n" Puesto Nombre Puntos printf "%-7s %-6s %-4.2f\n" 1 Juan 9,25 printf "%-7s %-6s %-4.2f\n" 2 Alex 8,57 printf "%-7s %-6s %-4.2f\n" 3 David 8,15
Dando el siguiente resultado por terminal:
En este caso, %s significa que en ese lugar irá una cadena de texto. Los modificadores -7 de la primera cadena, %-7s, indican que se reservarán 7 columnas para el texto que irá en ese lugar. Si es más pequeño de ese tamaño, se completará el hueco sobrante con espacios.
$ ./ejemplo.sh Puesto Nombre Puntos 1 Juan 9,25 2 Alex 8,57 3 David 8,15
En este caso, %s significa que en ese lugar irá una cadena de texto. Los modificadores -7 de la primera cadena, %-7s, indican que se reservarán 7 columnas para el texto que irá en ese lugar. Si es más pequeño de ese tamaño, se completará el hueco sobrante con espacios.
Por otra parte, %-4.2f indica que ahí va un número flotante, que se reservan 4 espacios para la parte entera y 2 para los decimales.
Os animo a que sigáis indagando sobre las posibilidades de printf.
No hay comentarios:
Publicar un comentario