Pesquisa de site

Exibir saída de comando ou conteúdo de arquivo em formato de coluna


Você está farto de visualizar a saída de comando congestionada ou o conteúdo do arquivo no terminal. Este breve artigo demonstrará como exibir a saída do comando ou o conteúdo de um arquivo em um formato “colunas” muito claro.

Podemos usar o utilitário column para transformar a entrada padrão ou o conteúdo de um arquivo em formato tabular de múltiplas colunas, para uma saída muito clara.

Leia também: 12 comandos úteis para filtrar texto para operações eficazes de arquivos no Linux

Para entender mais claramente, criamos o seguinte arquivo “tecmint-authors.txt” que contém uma lista dos 10 principais nomes dos autores, número de artigos escritos e número de comentários que receberam sobre o artigo até agora .

Para demonstrar isso, execute o comando cat abaixo para visualizar o arquivo tecmint-authors.txt.

cat tecmint-authors.txt
Saída de amostra
pos|author|articles|comments
1|ravisaive|431|9785
2|aaronkili|369|7894
3|avishek|194|2349
4|cezarmatei|172|3256
5|gacanepa|165|2378
6|marintodorov|44|144
7|babin lonston|40|457
8|hannyhelal|30|367
9|gunjit kher|20|156
10|jesseafolabi|12|89

Usando o comandocolumn, podemos exibir uma saída muito clara como segue, onde o -t ajuda a determinar o número de colunas que a entrada contém e cria uma tabela e o -s especifica um caractere delimitador.

cat tecmint-authors.txt  | column -t -s "|"
Saída de amostra
pos  author         articles  comments
1    ravisaive      431       9785
2    aaronkili      369       7894
3    avishek        194       2349
4    cezarmatei     172       3256
5    gacanepa       165       2378
6    marintodorov   44        144
7    babin lonston  40        457
8    hannyhelal     30        367
9    gunjit kher    20        156
10   jesseafolabi   12        89

Por padrão, linhas são preenchidas antes das colunas, para preencher colunas antes de preencher linhas use a opção -x e para instruir o comando da coluna considere linhas vazias (que são ignoradas por padrão), inclua o sinalizador -e.

Aqui está outro exemplo prático, execute os dois comandos abaixo e veja a diferença para entender melhor o que a coluna mágica pode fazer

mount
mount | column -t
Saída de amostra
sysfs        on  /sys                             type  sysfs            (rw,nosuid,nodev,noexec,relatime)
proc         on  /proc                            type  proc             (rw,nosuid,nodev,noexec,relatime)
udev         on  /dev                             type  devtmpfs         (rw,nosuid,relatime,size=4013172k,nr_inodes=1003293,mode=755)
devpts       on  /dev/pts                         type  devpts           (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs        on  /run                             type  tmpfs            (rw,nosuid,noexec,relatime,size=806904k,mode=755)
/dev/sda10   on  /                                type  ext4             (rw,relatime,errors=remount-ro,data=ordered)
securityfs   on  /sys/kernel/security             type  securityfs       (rw,nosuid,nodev,noexec,relatime)
tmpfs        on  /dev/shm                         type  tmpfs            (rw,nosuid,nodev)
tmpfs        on  /run/lock                        type  tmpfs            (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs        on  /sys/fs/cgroup                   type  tmpfs            (rw,mode=755)
cgroup       on  /sys/fs/cgroup/systemd           type  cgroup           (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/
....

Para salvar a saída bem formatada em um arquivo, use o redirecionamento de saída conforme mostrado.

mount | column -t >mount.out

Para obter mais informações, consulte a página de manual das colunas:

man column 

Você também pode gostar de ler os seguintes artigos relacionados.

  1. Como usar expressões regulares e Awk para filtrar texto ou string em arquivos
  2. Como encontrar e classificar arquivos com base na data e hora da modificação no Linux
  3. 11 comandos avançados ‘Grep’ do Linux em classes de caracteres e expressões de colchetes

Se você tiver alguma dúvida, use o formulário de comentários abaixo para nos escrever. Você também pode compartilhar conosco dicas e truques úteis sobre linha de comando no Linux.