El comando column en Linux es una utilidad muy práctica para convertir texto desordenado en tablas legibles. Resulta especialmente útil cuando trabajas con archivos CSV, listas separadas por delimitadores, salidas de comandos o datos que necesitan una presentación más clara.
Gracias a column, puedes transformar información plana en columnas bien alineadas, lo que facilita mucho la verificación, el análisis y la limpieza de datos desde la terminal.
¿Qué es el comando column?
El comando column forma parte del paquete util-linux en la mayoría de distribuciones modernas y permite reorganizar la entrada de texto para mostrarla en formato tabular.
Su uso es ideal cuando:
- tienes archivos CSV o TSV,
- quieres dar formato a datos separados por delimitadores,
- necesitas presentar mejor la salida de un comando,
- o buscas una forma rápida de leer información compleja en terminal.
¿Qué diferencias existen entre diferentes distribuciones?
Antes de usar column, conviene saber que su comportamiento puede variar ligeramente según la distribución.
- En Debian y Ubuntu, históricamente podía venir de paquetes como
bsdmainutilsobsdextrautils. - En RHEL, Fedora y derivadas, normalmente forma parte de
util-linux.
Si quieres comprobar qué versión tienes, puedes revisar el paquete instalado con:
dpkg -S $(which column)
En sistemas basados en Debian/Ubuntu, también puedes usar:
dpkg -l | grep -i util-linux
Y en sistemas RHEL, Fedora o similares:
rpm -qa | grep -i util-linux
Si quieres ver las opciones disponibles, consulta:
man column
¿Cómo crear el formato básico de tablas?
La forma más sencilla de usar column es con la opción -t, que alinea el contenido en columnas.
Por ejemplo:
column -t /etc/passwd
Esto intenta organizar el contenido en una tabla más legible. Sin embargo, como /etc/passwd usa dos puntos (:) como separador, el resultado mejora mucho si indicas el delimitador correcto.
¿Cómo usar delimitadores personalizados?
Para archivos separados por un carácter concreto, usa la opción -s.
Con dos puntos
column -s ":" -t /etc/passwd
Esto divide correctamente cada campo del archivo /etc/passwd. En algunas versiones de Debian o Ubuntu, puede ser necesario usar -n para evitar que varios delimitadores consecutivos se traten como uno solo:
column -t -s ":" -n /etc/passwd
¿Cómo formatear CSV, TSV y otros archivos delimitados?
column funciona muy bien con archivos de datos comunes.
CSV
column -t -s "," data.csv
TSV
column -t -s $'\t' data.tsv
Datos separados por barras verticales
column -t -s "|" data.txt
Esto es especialmente útil cuando quieres revisar rápidamente archivos exportados desde otras herramientas o bases de datos.
¿Cómo manejar las líneas vacías?
Por defecto, column puede ignorar algunas líneas en blanco dependiendo de la versión. Si quieres preservar mejor ciertos vacíos en sistemas Debian o Ubuntu, puedes usar:
column -e -t -s "," dummy.txt
Esto ayuda cuando el archivo contiene huecos o registros incompletos y quieres mantener la estructura visual.
¿Cómo cambiar el separador de salida?
Normalmente, column usa espacios para alinear las columnas. En algunas versiones de util-linux, puedes personalizar el separador de salida con -o.
column -t -s "," -o " | " dummy.txt
También puedes usar separadores visuales más llamativos:
column -t -s ":" -o " → " /etc/passwd | head -5
column -t -s "," -o "||" data.csv
Esto puede ser útil si vas a usar la salida en informes o scripts intermedios.
¿Cómo convertir filas en columnas?
La opción -x cambia el orden de presentación para llenar primero horizontalmente antes de pasar a la siguiente fila.
column -x fillcols.txt
Si ejecutas column sin argumentos especiales, este comportamiento horizontal suele ser el predeterminado en muchos casos.
Esto, es muy útil para mostrar listas de forma compacta, por ejemplo:
ls /usr/bin | column -x
¿Cómo formatear la salida de otros comandos?
Una de las grandes ventajas de column es que se integra muy bien con tuberías o pipelines.
Formatear df
df -h | column -t
Formatear ps
ps aux | column -t
¿Cómo crear una tabla rápida desde texto?
echo -e "Name,Age,City\nJohn,30,NYC\nJane,25,LA" | column -t -s ","
Salida:
Name Age City
John 30 NYC
Jane 25 LA
Esto convierte datos muy simples en tablas limpias y fáciles de leer.
¿Cómo trabajar con pares clave valor?
column también es útil con archivos de configuración o salidas tipo clave=valor.
column -t -s "=" config.ini
env | column -t -s "="
Esto mejora mucho la lectura de variables de entorno o de configuraciones en texto plano.
¿Cómo controlar el ancho de columna?
El comando adapta su salida al ancho de la terminal, puedes comprobar el valor actual de COLUMNS con:
echo $COLUMNS
Y forzar un ancho concreto así:
COLUMNS=80 column -t -s ":" /etc/passwd | head -5
Esto puede ayudarte a obtener una salida más consistente al generar capturas, informes o salidas reproducibles.
¿Qué opciones avanzadas ofrecen las versiones más modernas?
Las versiones más recientes de column ofrecen funciones adicionales que permiten un control más fino del formato.
Definir encabezados
column -t -s "," -N "Name,Age,City" data.csv
Alinear columnas a la derecha
column -t -s "," -R 2,3 data.csv
Truncar columnas concretas
column -t -s ":" -T 1,6 /etc/passwd
Estas opciones son especialmente útiles cuando preparas salidas más profesionales o informes compactos.
¿Cómo combinar column con otras herramientas?
column encaja muy bien dentro de pipelines de Linux.
Con awk
awk -F: '{print $1,$3,$6}' /etc/passwd | column -t
Con cut
cut -d: -f1,3,6 /etc/passwd | column -t -s ":"
Con grep
grep -v "^#" /etc/services | column -t
También puedes usarlo para crear informes rápidos:
(echo "USER,CPU%,MEM%,COMMAND"; ps aux | awk '{print $1","$3","$4","$11}' | tail -n +2) | column -t -s ","
Esto es muy útil para convertir salida técnica en tablas legibles sin necesidad de herramientas más pesadas.
Casos de uso prácticos
column es ideal en situaciones como estas:
- revisar archivos CSV desde terminal,
- inspeccionar configuraciones,
- dar formato a salidas de comandos,
- preparar reportes rápidos,
- mostrar datos exportados de forma limpia,
- o mejorar la legibilidad de listas largas.
Cuando necesitas presentar datos en consola de forma ordenada, column suele ser una de las herramientas más sencillas y efectivas.
Consejos rápidos
- Usa
-tpara crear tablas alineadas. - Usa
-scuando el archivo tenga delimitadores concretos. - Usa
-xsi quieres que la salida se rellene horizontalmente. - Revisa
man columnpara ver las opciones exactas de tu versión. - Ten en cuenta que algunas opciones pueden variar entre distribuciones.
Conclusión
El comando column en Linux es una herramienta sencilla pero muy potente para formatear texto en tablas legibles. Permite trabajar con archivos delimitados, salidas de comandos y datos en bruto de forma rápida y eficiente.
Si trabajas con CSV, configuraciones o reportes de terminal, aprender a usar column te ahorrará mucho tiempo y hará que la información sea mucho más clara.
