Comando Linux column

Linux 命令大全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 (comols、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

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

Separador de salida personalizado

Ejemplo

$ echo -e "1 2 3n4 5 6" | column -t -o " | "
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

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

Especificar nombres de columnas

Ejemplo

$ echo -e "Alice 25nBob 30" | column -N "Name,Age" -t
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

Consideraciones

  1. 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.
  2. Caracteres especiales: si los datos contienen separadores como espacios o tabuladores, se recomienda especificar el separador explícitamente
  3. Consideraciones de rendimiento: al procesar archivos grandes,columnpuede requerir bastante memoria
  4. 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

  1. Toma tu/etc/passwdarchivo y formatea las primeras 5 líneas como tabla (sugerencia: usa:como separador)
  2. Intenta usarcolumncomando para organizar tu lista de procesos (ps auxsalida)
  3. 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

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.


Linux 命令大全Manual completo de comandos Linux

Otras extensiones