Como renderizar duas colunas preservando todos os espaços em branco após a primeira coluna com awk ou alternativa?

Como renderizar duas colunas preservando todos os espaços em branco após a primeira coluna com awk ou alternativa?

minha saída vem em figuras legíveis com um espaço seguido por nomes de diretórios:

Atualmente estou usando...

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

entrada

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

saída

1G    foo
1.5M  foo 
5K    foo 

desejado

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

Como dividir em duas colunas com delimitador de espaço em branco preservando todos os espaços em branco na segunda coluna usando awk ou alternativa?

Responder1

Experimente isto:

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

Redefinir as colunas iniciais para uma string vazia é o truque usual para imprimir todos os campos/colunas restantes.

informação relacionada