Comment puis-je imprimer à l'aide d'écho dans bash si la ligne wont « sauter » abit à la bonne cause de la longueur de la variable peut u s'il vous plaît me aider avec une commande qui le fontavec bash fonction echo
1
A
Répondre
5
Essayez en utilisant la commande shell printf
:
$ printf "%5d %s\n" 1 test
1 test
$ printf "%5d %s\n" 123 another
123 another
1
pour découper les espaces au intérieur d'une variable que vous pouvez utiliser l'expansion des paramètres Bash:
var=" value"
echo "${var#"${var%%[![:space:]]*}"}"
+0
Vous pouvez omettre l'ensemble interne de guillemets: 'echo" $ {var # $ {var %% [! [: Space:]] *}} "' –
0
utilisez des onglets pour séparer vos colonnes.
echo -e "$var1\t$var2"
ou, mieux, utiliser printf
pour le faire:
printf "%s\t%s\n" $var1 $var2
Ou, comme Greg Hewgill showed, utilisez des largeurs de terrain (même avec des chaînes - le trait d'union qui les rend aligné à gauche):
printf "%-6s %-8s %10s\n" abcde fghij 12345
encore cause de la première variable la colonne "saute" abit vers la droite la suggestion que vous m'avez faite aide avec les espaces entre les variables mais n'ignore pas la longueur de chacune d'elles –
Si vous Vous voulez plus d'aide, vous allez devoir donner un exemple de ce que vous voyez. –