fbpx Comando column en Linux: Formatear Salida en Columnas y CSV | Certificação Linux

Comando column en Linux: Formatear Salida en Columnas, CSV y JSON

📅 06/12/2021 ⏱ 4 min ✍️ Uira Ribeiro
Linuxcomandos
Comando column en Linux: Formatear Salida en Columnas, CSV y JSON
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

El comando column en Linux puede ahorrarle mucho tiempo a un desarrollador. Permite formatear un archivo o la salida de un comando en columnas, CSV (separado por coma) o JSON.

Esto realmente ahorra mucho tiempo en transformación de datos.

Vea por ejemplo el archivo /etc/passwd que contiene los usuarios del sistema, con los campos separados por dos puntos:

$ cat /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/falsebin:x:2:2:bin:/bin:/bin/falsesys:x:3:3:sys:/dev:/bin/falsesync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/falseman:x:6:12:man:/var/cache/man:/bin/false

El comando column puede usarse para leer el contenido de este archivo y separarlo en columnas:

$ column /etc/passwd -s : -troot     x  0  0    root    /root           /bin/bashdaemon   x  1  1    daemon  /usr/sbin       /bin/falsebin      x  2  2    bin     /bin            /bin/falsesys      x  3  3    sys     /dev            /bin/falsesync     x  4  655  sync    /bin            /bin/syncgames    x  5  60   games   /usr/games      /bin/falseman      x  6  12   man     /var/cache/man  /bin/false

El comando column también puede usarse para ver un archivo Separado-por-coma CSV:

$ cat contatos.csv | column -t -s,NOME          TEL             EMAILUira Ribeiro  (31) 3069-8315  [email protected]

Esto puede ser útil para visualizar este tipo de archivo sin necesidad de tener Excel o similar.

En algunas distribuciones el comando column permite exportar los datos en formato JSON, usando la opción "-J", seguida de los nombres de las columnas:

$ cat /etc/passwd | column -t -s : -J --table-columns LOGIN,PASSWORD,UID,GUID,NOME,HOME,SHELL{   "table": [      {"login": "root", "password": "x", "uid": "0", "guid": "0", "nome": "root", "home": "/root", "shell": "/bin/bash"},      {"login": "bin", "password": "x", "uid": "1", "guid": "1", "nome": "bin", "home": "/bin", "shell": "/sbin/nologin"},      {"login": "daemon", "password": "x", "uid": "2", "guid": "2", "nome": "daemon", "home": "/sbin", "shell": "/sbin/nologin"},      {"login": "adm", "password": "x", "uid": "3", "guid": "4", "nome": "adm", "home": "/var/adm", "shell": "/sbin/nologin"},      {"login": "lp", "password": "x", "uid": "4", "guid": "7", "nome": "lp", "home": "/var/spool/lpd", "shell": "/sbin/nologin"},      {"login": "sync", "password": "x", "uid": "5", "guid": "0", "nome": "sync", "home": "/sbin", "shell": "/bin/sync"},      {"login": "shutdown", "password": "x", "uid": "6", "guid": "0", "nome": "shutdown", "home": "/sbin", "shell": "/sbin/shutdown"},      {"login": "halt", "password": "x", "uid": "7", "guid": "0", "nome": "halt", "home": "/sbin", "shell": "/sbin/halt"},      {"login": "mail", "password": "x", "uid": "8", "guid": "12", "nome": "mail", "home": "/var/spool/mail", "shell": "/sbin/nologin"},   ]}

Este comando puede usarse en conjunto con cualquier comando del sistema, para generar archivos JSON.

Vea por ejemplo lo fácil que es generar una lista de archivos de un directorio en JSON:

$ ls -1 |  column -t -J --table-columns ARQUIVO --table-name ARQUIVOS{   "ARQUIVOS": [      {"arquivo": "agradecimento.html"},      {"arquivo": "agradecimentos"},      {"arquivo": "amazon.php"},      {"arquivo": "backup.sh"},      {"arquivo": "certbot-auto"},      {"arquivo": "certificado"},      ]}

En este ejemplo, la salida del comando ls, con la opción -1 que lista solamente los archivos uno por línea fue transformada por el comando column en un archivo JSON con columna llamada ARQUIVO, en la tabla ARQUIVOS.

Aprenda mucho más sobre Linux en nuestro curso en línea. Puede realizar la inscripción aquí. Si ya tiene una cuenta, o quiere crear una, simplemente ingrese o cree su usuario aquí.

¿Le gustó? Comparta

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp