bash printf justify text-justify

¿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"