¿Cómo justificar a la izquierda texto en bash?
printf justify (3)
Puede usar la - flag
para justificar a la izquierda.
Ejemplo:
[jaypal:~] printf "%10s/n" $txt
hello
[jaypal:~] printf "%-10s/n" $txt
hello
Dado un texto, $txt
, ¿cómo podría justificarlo a un ancho determinado en Bash?
Ejemplo (ancho = 10):
Si $txt=hello
, me gustaría imprimir:
hello |
Si $txt=1234567890
, me gustaría imprimir:
1234567890|
Puedes usar el comando printf
, así:
printf "%-10s |/n" "$txt"
El %s
significa interpretar el argumento como una cadena, y el -10
le dice que se justifique a la izquierda hasta el ancho 10 (los números negativos significan que la izquierda justifica, mientras que los números positivos se justifican a la derecha). Se requiere /n
para imprimir una nueva línea, ya que printf
no agrega una implícitamente.
Tenga en cuenta que man printf
describe brevemente este comando, pero la documentación de formato completo se puede encontrar en la página man de la función C en man 3 printf
.
bash
contiene un printf
incorporado
txt=1234567890
printf "%-10s/n" "$txt"