
Meine Ausgabe besteht aus für Menschen lesbaren Zahlen mit einem Leerzeichen, gefolgt von Verzeichnisnamen:
Ich verwende derzeit ...
awk '{ printf "%-20s %-40s\n", $1, $2 }'
Eingang
1G foo
1.5M foo baz
5K foo spaces in this directory
Ausgabe
1G foo
1.5M foo
5K foo
gewünscht
1G foo
1.5M foo baz
5K foo spaces in this directory
Wie kann ich mit awk oder einer Alternative in zwei Spalten mit Leerzeichen als Trennzeichen aufteilen und dabei alle Leerzeichen in der zweiten Spalte beibehalten?
Antwort1
Versuche dies:
$ awk '{ printf "%-20s ", $1; $1=""; print $0 }' input
1G foo
1.5M foo baz
5K foo spaces in this directory
Das Zurücksetzen der führenden Spalten auf eine leere Zeichenfolge ist der übliche Trick, um alle verbleibenden Felder/Spalten zu drucken.