Comando Linux column
Manual completo de comandos Linux
columnEs una herramienta de línea de comandos práctica en el sistema Linux, utilizada para formatear el texto de entrada en varias columnas. Puede reorganizar datos de texto originalmente desordenados en una forma de tabla ordenada, mejorando enormemente la legibilidad.
Casos de uso típicos:
- Formatear la salida de comandos (como
ls、psetc.) - Organizar datos CSV o TSV
- Crear tablas simples en la terminal
- Alinear el contenido de archivos de registro
Sintaxis básica
column [选项] [文件名]
Si no se especifica un nombre de archivo,columnleerá datos de la entrada estándar.
Opciones y parámetros comunes
| Opción | Descripción |
|---|---|
-t |
Detecta automáticamente el separador de entrada y crea una tabla |
-s sep |
Especifica un separador de columnas personalizado (por defecto es un carácter en blanco) |
-c width |
Establece el ancho total de salida (número de caracteres) |
-x |
Rellena primero las filas y luego las columnas (por defecto es primero columnas, luego filas) |
-o sep |
Especifica el separador de columnas de salida (por defecto son dos espacios) |
-N names |
Especifica nombres para cada columna (separados por comas) |
-n |
No combina múltiples separadores consecutivos |
Ejemplos de uso
Formato básico de tablas
Ejemplo
$ echo -e "Name Age GendernAlice 25 FnBob 30 MnCharlie 22 M" | column -t
Name Age Gender
Alice 25 F
Bob 30 M
Charlie 22 M
Name Age Gender
Alice 25 F
Bob 30 M
Charlie 22 M
Procesar datos CSV
Ejemplo
$ echo -e "ID,Name,Departmentn101,Alice,Salesn102,Bob,IT" | column -s, -t
ID Name Department
101 Alice Sales
102 Bob IT
ID Name Department
101 Alice Sales
102 Bob IT
Separador de salida personalizado
Ejemplo
$ echo -e "1 2 3n4 5 6" | column -t -o " | "
1 | 2 | 3
4 | 5 | 6
1 | 2 | 3
4 | 5 | 6
Uso combinado con otros comandos
Ejemplo
$ ls -l | head -5 | column -t
total 48
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Desktop
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Documents
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Downloads
total 48
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Desktop
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Documents
drwxr-xr-x 2 user user 4096 Jan 10 09:30 Downloads
Uso avanzado
Procesar datos irregulares
Ejemplo
$ echo -e "Item:Price:StocknApple:1.2:50nOrange:0.8:30" | column -s: -t
Item Price Stock
Apple 1.2 50
Orange 0.8 30
Item Price Stock
Apple 1.2 50
Orange 0.8 30
Especificar nombres de columnas
Ejemplo
$ echo -e "Alice 25nBob 30" | column -N "Name,Age" -t
Name Age
Alice 25
Bob 30
Name Age
Alice 25
Bob 30
Controlar el ancho de salida
Ejemplo
$ echo -e "1 2 3 4 5n6 7 8 9 10" | column -c 30 -t
1 3 5 7 9
2 4 6 8 10
1 3 5 7 9
2 4 6 8 10
Consideraciones
- Manejo de separadores: de forma predeterminada,
columntratará múltiples caracteres en blanco consecutivos como un solo separador. Usando la-nopción se puede deshabilitar este comportamiento. - Caracteres especiales: si los datos contienen separadores como espacios o tabuladores, se recomienda especificar el separador explícitamente
- Consideraciones de rendimiento: al procesar archivos grandes,
columnpuede requerir bastante memoria - Alineación: todas las columnas están alineadas a la izquierda por defecto; actualmente no se admite especificar directamente la alineación
Comparación de alternativas
| Herramienta | Ventajas | Desventajas |
|---|---|---|
column |
Simple y fácil de usar, integrado en Linux | Funcionalidad básica |
awk |
Altamente flexible y potente | Sintaxis compleja |
pr |
Admite paginación y control de columnas | Opciones complejas |
paste |
Adecuado para combinar columnas de archivos | Capacidad de formato limitada |
Ejercicios prácticos
- Toma tu
/etc/passwdarchivo y formatea las primeras 5 líneas como tabla (sugerencia: usa:como separador) - Intenta usar
columncomando para organizar tu lista de procesos (ps auxsalida) - Crea un archivo de texto con datos de tres columnas y experimenta con diferentes separadores
-sel efecto de la opción
Ejemplo
# Solución de ejemplo para el ejercicio 1
head -5 /etc/passwd | column -s: -t
head -5 /etc/passwd | column -s: -t
Al dominarcolumnel comando, puedes convertir fácilmente datos de texto desordenados en tablas legibles, lo cual es muy útil en la administración diaria del sistema y el procesamiento de datos.
Otras extensiones