Cómo formatear texto en columnas utilizando el comando column

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Linux proporciona una herramienta de línea de comandos versátil llamada "column" que te permite formatear texto en columnas ordenadas. Este tutorial te guiará a través del proceso de uso del comando column, desde los conceptos básicos de formateo de texto en columnas hasta técnicas más avanzadas para personalizar el diseño de las columnas. Ya sea que estés trabajando con datos tabulares, archivos de registro o cualquier otra información basada en texto, dominar el comando column puede mejorar en gran medida la presentación y legibilidad de tu contenido en sistemas Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/column("Text Columnizing") linux/BasicSystemCommandsGroup -.-> linux/printf("Text Formatting") linux/BasicFileOperationsGroup -.-> linux/cut("Text Cutting") linux/TextProcessingGroup -.-> linux/paste("Line Merging") linux/TextProcessingGroup -.-> linux/join("File Joining") subgraph Lab Skills linux/column -.-> lab-417823{{"Cómo formatear texto en columnas utilizando el comando column"}} linux/printf -.-> lab-417823{{"Cómo formatear texto en columnas utilizando el comando column"}} linux/cut -.-> lab-417823{{"Cómo formatear texto en columnas utilizando el comando column"}} linux/paste -.-> lab-417823{{"Cómo formatear texto en columnas utilizando el comando column"}} linux/join -.-> lab-417823{{"Cómo formatear texto en columnas utilizando el comando column"}} end

Comprender el comando column

El comando column en Linux es una herramienta poderosa utilizada para formatear texto en columnas. Te permite tomar la entrada de un archivo o de la entrada estándar y organizar los datos en un formato tabular, lo que facilita su lectura y comprensión.

¿Qué es el comando column?

El comando column es parte del paquete util-linux, que es una colección de utilidades esenciales de Linux. Está diseñado para tomar la entrada de un archivo o de la entrada estándar y organizar los datos en columnas, según las opciones especificadas por el usuario.

¿Por qué usar el comando column?

El comando column es útil en una variedad de escenarios, como:

  1. Mostrar datos en un formato tabular: Cuando tienes datos que se organizan naturalmente en columnas, el comando column puede ayudarte a presentarlos en un formato limpio y legible.
  2. Formatear la salida de otros comandos: Muchos comandos de Linux, como ls, ps y df, generan salida en un formato tabular. El comando column se puede utilizar para dar un formato adicional a esta salida.
  3. Mejorar la legibilidad: Al organizar los datos en columnas, el comando column puede facilitar a los usuarios la revisión y comprensión de la información.

Uso básico del comando column

La sintaxis básica del comando column es:

column [options] [file]

Aquí, [options] representa las diversas opciones de línea de comandos que se pueden utilizar para personalizar el formato de las columnas, y [file] es el archivo de entrada (si lo hay) que deseas formatear.

Si no especificas un archivo de entrada, el comando column leerá de la entrada estándar (por ejemplo, la salida de otro comando).

Veamos un ejemplo sencillo:

$ echo "Name Age Gender" | column -t
Name  Age  Gender

En este ejemplo, el comando echo genera una cadena con tres campos, y el comando column -t formatea la entrada en una tabla con tres columnas.

Formatear texto en columnas

Ahora que comprendes los conceptos básicos del comando column, profundicemos en cómo usarlo para formatear texto en columnas.

Especificar el delimitador de columnas

Por defecto, el comando column utiliza espacios en blanco (espacios y tabulaciones) como delimitador para separar las columnas. Sin embargo, puedes especificar un delimitador diferente utilizando la opción -t:

$ echo "Name,Age,Gender" | column -t -s,
Name  Age  Gender

En este ejemplo, la opción -s, le indica a column que utilice la coma (,) como delimitador de columnas.

Ajustar el ancho de las columnas

El comando column ajusta automáticamente el ancho de cada columna para que se ajuste a la entrada más larga de esa columna. Sin embargo, puedes controlar manualmente el ancho de las columnas utilizando la opción -o:

$ echo "Name Age Gender" | column -t -o 10
Name      Age       Gender

En este ejemplo, la opción -o 10 establece el ancho de cada columna en 10 caracteres.

Manejar entradas de varias líneas

El comando column también puede manejar entradas de varias líneas. Cuando una entrada abarca varias líneas, el comando asegurará que la entrada se muestre en una sola columna:

$ cat <<EOF | column -t
Name     Age  Gender
John Doe 25   Male
Jane Doe 30   Female
EOF
Name     Age  Gender
John Doe 25   Male
Jane Doe 30   Female

En este ejemplo, los datos de entrada contienen entradas de varias líneas, y el comando column conserva el formato.

Alinear las columnas

Por defecto, el comando column alinea las columnas a la izquierda. Sin embargo, puedes cambiar la alineación utilizando la opción -c:

$ echo "Name Age Gender" | column -t -c right
          Name          Age        Gender

En este ejemplo, la opción -c right alinea las columnas a la derecha.

Técnicas avanzadas de formato de columnas

Si bien el uso básico del comando column es sencillo, hay varias técnicas avanzadas que puedes utilizar para personalizar aún más el formato de tus datos.

Especificar el número de columnas

Por defecto, el comando column determinará el número de columnas en función de los datos de entrada. Sin embargo, puedes especificar explícitamente el número de columnas utilizando la opción -c:

$ echo "Name Age Gender Occupation" | column -t -c 3
Name  Age  Gender
Occupation

En este ejemplo, la opción -c 3 le indica a column que formatee la entrada en 3 columnas.

Controlar el espaciado entre columnas

El comando column agrega una cantidad predeterminada de espaciado entre las columnas. Puedes ajustar este espaciado utilizando la opción -o:

$ echo "Name Age Gender" | column -t -o 5
Name     Age  Gender

En este ejemplo, la opción -o 5 establece el espaciado entre columnas en 5 caracteres.

Manejar datos faltantes

Si algunos de los datos de entrada faltan, el comando column aún intentará formatear los datos en columnas. Puedes controlar cómo se manejan los datos faltantes utilizando la opción -N:

$ echo "Name Age Gender" | column -t -N "-"
Name  Age  Gender
-     -    -

En este ejemplo, la opción -N "-" le indica a column que utilice un guión (-) para representar los datos faltantes.

Combinar múltiples opciones de formato

Puedes combinar múltiples opciones de formato para obtener la salida deseada. Por ejemplo:

$ echo "Name Age Gender Occupation" | column -t -c 3 -o 10 -N "-"
Name       Age        Gender
Occupation

En este ejemplo, el comando column está configurado para:

  • Formatear la entrada en 3 columnas (-c 3)
  • Establecer el ancho de las columnas en 10 caracteres (-o 10)
  • Utilizar un guión (-) para representar los datos faltantes (-N "-")

Al utilizar estas técnicas avanzadas, puedes crear una salida basada en columnas altamente personalizada y legible a partir de tus datos.

Resumen

El comando column en Linux es una herramienta poderosa para formatear texto en columnas, lo que facilita la lectura y el análisis de datos. En este tutorial, has aprendido cómo usar el comando column para crear diseños básicos de columnas, así como técnicas avanzadas para personalizar el formato de las columnas según tus necesidades específicas. Al aprovechar el comando column, puedes mejorar la organización y presentación de tus datos basados en Linux, aumentar la productividad y optimizar tu flujo de trabajo.