Mostrar salida de comando o contenido de archivo en formato de columna


¿Está harto de ver la salida del comando congestionado o el contenido del archivo en el terminal? Este breve artículo mostrará cómo mostrar el resultado del comando o el contenido de un archivo en un formato muy claro " en columnas ".

Podemos usar la utilidad columna para transformar la entrada estándar o el contenido de un archivo en forma tabular de varias columnas, para obtener un resultado mucho más claro.

Para comprender más claramente, hemos creado el siguiente archivo " tecmint-authors.txt " que contiene una lista de los 10 nombres de los principales autores, la cantidad de artículos escritos y la cantidad de comentarios recibidos sobre el artículo hasta ahora .

Para demostrar esto, ejecute el comando cat a continuación para ver el archivo 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

Usando el comando de columna , podemos mostrar una salida muy clara de la siguiente manera, donde -t ayuda a determinar la cantidad de columnas que contiene la entrada y crea una tabla y la < código> -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 forma predeterminada, las filas se rellenan antes de las columnas, para rellenar las columnas antes de rellenar las filas use el interruptor -x y para indicar al comando de la columna que considere las líneas vacías (que se ignoran por defecto) incluye la bandera -e .

Aquí hay otro ejemplo práctico, ejecute los dos comandos a continuación y vea la diferencia para comprender mejor lo que puede hacer 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=/
....

Para guardar la salida bien formateada en un archivo, use la redirección de salida como se muestra.

$ mount | column -t >mount.out

Para más información, vea la página del manual de columnas:

$ man column 

También te puede interesar leer los siguientes artículos relacionados.

  1. How to Use Awk and Regular Expressions to Filter Text or String in Files
  2. How to Find and Sort Files Based on Modification Date and Time in Linux
  3. 11 Advanced Linux ‘Grep’ Commands on Character Classes and Bracket Expressions

Si tiene alguna pregunta, utilice el formulario de comentarios a continuación para escribirnos. También puede compartir con nosotros algunos consejos y trucos útiles de línea de comandos en Linux.