Как отобразить два столбца, сохранив все пробелы после первого столбца с помощью awk или альтернативы?

Как отобразить два столбца, сохранив все пробелы после первого столбца с помощью awk или альтернативы?

мой вывод представлен в виде понятных человеку цифр с одним пробелом, за которым следуют имена каталогов:

В настоящее время я использую ...

awk '{ printf "%-20s %-40s\n", $1, $2 }'

вход

1G foo
1.5M foo baz 
5K foo spaces in this directory

выход

1G    foo
1.5M  foo 
5K    foo 

желанный

1G    foo
1.5M  foo baz 
5K    foo spaces in this directory

Как разделить на два столбца с разделителем-пробелом, сохранив все пробелы во втором столбце, используя awk или альтернативу?

решение1

Попробуй это:

$ awk '{ printf "%-20s ", $1; $1=""; print $0 }' input 
1G                    foo
1.5M                  foo baz
5K                    foo spaces in this directory

Сброс начальных столбцов до пустой строки — это обычный прием для печати всех оставшихся полей/столбцов.

Связанный контент