Mostrar la salida del comando o el contenido del archivo en formato de columna
¿Está harto de ver resultados de comandos congestionados o contenido de archivos en el terminal? Este breve artículo demostrará cómo mostrar la salida de un comando o el contenido de un archivo en un formato “columnado” mucho más claro.
Podemos usar la utilidad columna para transformar la entrada estándar o el contenido de un archivo en forma tabular de múltiples columnas, para obtener una salida mucho más clara.
Lea también: 12 comandos útiles para filtrar texto para operaciones efectivas con archivos en Linux
Para entenderlo más claramente, hemos creado el siguiente archivo “tecmint-authors.txt” que contiene una lista de los nombres de los 10 autores principales, la cantidad de artículos escritos y la cantidad de comentarios que recibieron 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
Salida de muestra
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 un resultado mucho más claro de la siguiente manera, donde -t
ayuda a determinar el número de columnas que contiene la entrada y crea una tabla y el -s
especifica un carácter delimitador.
cat tecmint-authors.txt | column -t -s "|"
Salida de muestra
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 completan antes que las columnas, para llenar las columnas antes de llenar las filas use el interruptor -x
y para indicar al comando de columna considere las líneas vacías (que se ignoran de manera predeterminada). incluya la bandera -e
.
Aquí hay otro ejemplo práctico, ejecute los dos comandos siguientes y vea la diferencia para comprender mejor lo que puede hacer la columna mágica.
mount
mount | column -t
Salida de muestra
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, utilice la redirección de salida como se muestra.
mount | column -t >mount.out
Para obtener más información, consulte la página de manual de columnas:
man column
Quizás también te interese leer los siguientes artículos relacionados.
- Cómo utilizar expresiones regulares y Awk para filtrar texto o cadenas en archivos
- Cómo buscar y ordenar archivos según la fecha y hora de modificación en Linux
- 11 comandos avanzados 'Grep' de Linux sobre clases de caracteres y expresiones entre corchetes
Si tiene alguna pregunta, utilice el formulario de comentarios a continuación para escribirnos. También puede compartir con nosotros consejos y trucos útiles sobre la línea de comandos en Linux.