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

1

minha saída vem em figuras legíveis por humanos 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?

    
por nifr 09.06.2013 / 09:12

1 resposta

1

Tente isto:

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

A redefinição das colunas principais para uma string vazia é o truque comum para imprimir todos os campos / colunas restantes.

    
por 09.06.2013 / 09:45

Tags