Cómo usar el comando COLUMN en Linux para formatear texto en tablas

Chuleta de comandos linux: CIBERED, tu web de linux de confianza

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 bsdmainutils o bsdextrautils.
  • 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 -t para crear tablas alineadas.
  • Usa -s cuando el archivo tenga delimitadores concretos.
  • Usa -x si quieres que la salida se rellene horizontalmente.
  • Revisa man column para 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.

Vistas: 0