Comment justifier le texte à gauche dans bash?
Étant donné un texte, $txt, Comment pourrais-je le justifier à une largeur donnée dans Bash.
Exemple (largeur = 10):
Si $txt=hello, je voudrais imprimer:
hello |
Si $txt=1234567890, je voudrais imprimer:
1234567890|
3 réponses
Vous pouvez utiliser la commande printf, comme ceci:
printf "%-10s |\n" "$txt"
Le %s signifie interpréter l'argument comme une chaîne, et le -10 lui dit de Left justify à la largeur 10 (les nombres négatifs signifient left justify tandis que les nombres positifs justifient à droite). Le {[4] } est nécessaire pour imprimer une nouvelle ligne, puisque printf n'en ajoute pas implicitement.
Notez que man printf décrit brièvement cette commande, mais la documentation au format complète se trouve dans la page de manuel de la fonction C dans man 3 printf.
Vous pouvez utiliser le - flag pour la justification à gauche.
Exemple:
[jaypal:~] printf "%10s\n" $txt
hello
[jaypal:~] printf "%-10s\n" $txt
hello
bash contient un printf intégré
txt=1234567890
printf "%-10s\n" "$txt"