Vis kommandooutput eller filindhold i kolonneformat


Er du træt af at se overbelastet kommandooutput eller filindhold på terminalen. Denne korte artikel vil demonstrere, hvordan man viser kommandooutput eller et filindhold i et meget klart "kolonneformet" format.

Vi kan bruge kolonnehjælpeprogrammet til at omdanne standardinput eller et filindhold til tabelform af flere kolonner for en meget klar output.

For at forstå mere klart, har vi oprettet en følgende fil "tecmint-author.txt", der indeholder en liste over top 10 forfatternavne, antal artikler skrevet og antal kommentarer, de hidtil har modtaget til artiklen.

For at demonstrere dette skal du køre kat-kommandoen nedenfor for at se filen tecmint-authors.txt.

$ cat tecmint-authors.txt
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

Ved hjælp af kolonnekommandoen kan vi vise en meget klar output som følger, hvor -t hjælper med at bestemme antallet af kolonner, inputet indeholder, og opretter en tabel og -s angiver et skilletegn.

$ cat tecmint-authors.txt  | column -t -s "|"
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

Som standard udfyldes rækker før kolonner, for at udfylde kolonner inden udfyldning af rækker skal du bruge -x -kontakten og for at instruere kolonnekommandoen overveje tomme linjer (som ignoreres som standard), inkluder -e flag.

Her er et andet praktisk eksempel, kør de to kommandoer nedenfor og se forskel for yderligere at forstå den magiske søjle kan gøre

$ mount
$ mount | column -t
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=/
....

For at gemme det pænt formaterede output i en fil skal du bruge outputomdirigering som vist.

$ mount | column -t >mount.out

For mere information, se kolonnens mandeside:

$ man column 

Du kan også godt lide at læse disse følgende relaterede artikler.

  1. Sådan bruges Awk og regulære udtryk til at filtrere tekst eller streng i filer
  2. Sådan finder du og sorterer filer baseret på ændringsdato og -tid i Linux
  3. 11 Avancerede Linux 'Grep'-kommandoer om karakterklasser og parentesudtryk

Hvis du har spørgsmål, så brug nedenstående kommentarformular til at skrive til os. Du kan lige så godt dele med os alle nyttige kommandolinjetips og tricks i Linux.