Mostra la sortida de l'ordre o el contingut del fitxer en format de columna


Esteu fart de veure la sortida de les ordres congestionades o el contingut del fitxer al terminal. Aquest breu article mostrarà com mostrar la sortida d'ordres o el contingut d'un fitxer en un format columnat molt clar.

Podem utilitzar la utilitat de columnes per transformar l'entrada estàndard o el contingut d'un fitxer en forma tabular de diverses columnes, per obtenir una sortida molt clara.

Per entendre-ho amb més claredat, hem creat el següent fitxer tecmint-authors.txt que conté una llista dels noms dels 10 autors principals, el nombre d'articles escrits i el nombre de comentaris que han rebut sobre l'article fins ara.

Per demostrar-ho, executeu l'ordre cat a continuació per veure el fitxer 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

Mitjançant l'ordre column, podem mostrar una sortida molt clara de la següent manera, on el -t ajuda a determinar el nombre de columnes que conté l'entrada i crea una taula i el -s > especifica un caràcter delimitador.

$ 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

De manera predeterminada, les files s'omplen abans de les columnes, per omplir les columnes abans d'omplir les files, utilitzeu l'interruptor -x i per indicar que l'ordre de columna consideri les línies buides (que s'ignoren per defecte), incloeu el -e bandera.

Aquí teniu un altre exemple pràctic, executeu les dues ordres següents i vegeu la diferència per entendre millor la columna màgica

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

Per desar la sortida ben formatada en un fitxer, utilitzeu la redirecció de sortida tal com es mostra.

$ mount | column -t >mount.out

Per obtenir més informació, consulteu la pàgina de manual de columnes:

$ man column 

També us agradaria llegir aquests articles relacionats següents.

  1. Com utilitzar expressions Awk i regulars per filtrar text o cadena als fitxers
  2. Com trobar i ordenar fitxers segons la data i l'hora de modificació a Linux
  3. 11 ordres avançades Grep de Linux sobre classes de caràcters i expressions de parèntesis

Si teniu cap pregunta, utilitzeu el formulari de comentaris a continuació per escriure'ns. També podeu compartir amb nosaltres qualsevol consell i truc útil de la línia d'ordres a Linux.