Erstellen string mit Leerzeichen in der Bash
Ich würde gerne eine Schleife über ein assoziatives array und drucken Sie das Schlüssel /Wert-Paare in einer netten Art und Weise. Daher möchte ich Spiegelstrich werden die Werte in einer solchen Weise, dass Sie beginnen alle an der gleichen position hinter den jeweiligen Tasten.
Hier ein Beispiel:
declare -A my_array
my_array["k 1"]="value one"
my_array["key two"]="value two"
for key in "${!my_array[@]}"; do
echo "$key: ${my_array[$key]}"
done
Die Ausgabe ist
k 1: value one
key two: value two
Die Ausgabe würde ich gerne haben würde (für beliebige Schlüssel-Länge):
k 1: value one
key two: value two
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
printf
, wenn Sie in Ihrem system es:Diese Festplatte-codes die maximale Schlüssellänge auf 20, aber Sie können natürlich auch code hinzufügen, der iteriert über die Tasten, berechnet das maximum, und dann nutzt, die zum erstellen der
printf
Formatierungs-string.Verwenden
printf
stattecho
. Erhalten Sie alle die Kraft der Formatierung, z.B.%30s
für ein Feld von 30 Zeichen.