Comment puis-je imprimer du texte en bash et pad avec des espaces pour une certaine largeur?

Je suis en écho du texte dans un script bash avec une variable, et que vous voulez pad variable afin de toujours disposer de la quantité appropriée d'espaces pour le droit de garder le reste du texte aligné.

Voici un exemple de ce que je veux:

Echoing random number 1080    [ OK ]
Echoing random number 443     [ OK ]
Echoing random number 34842   [ OK ]

La valeur numérique serait de longueur variable (probablement pas plus de 5 ou 6 chiffres).

Je sais que printf pouvez le faire et de l'aligner à droite les variables de la manière suivante:

printf "Echoing random number %5s   [ OK ]" $RAND_NUM

Cependant, ce serait de formater le texte comme ceci:

Echoing random number  1080   [ OK ]
Echoing random number   443   [ OK ]
Echoing random number 34842   [ OK ]

Et bien sûr, juste en écho avec des espaces doens pas:

echo "Echoing random number ${RAND_NUM}   [ OK ]"

Ce produit:

Echoing random number 1080   [ OK ]
Echoing random number 443   [ OK ]
Echoing random number 34842   [ OK ]

Est-il un moyen d'imprimer le texte comme mon premier exemple?

InformationsquelleAutor PHLAK | 2011-06-14