Puede mostrar un archivo delimitado en el terminal de Linux para que cada elemento delimitado se muestre dentro de su propia columna. Por ejemplo, aquí hay un ejemplo de una mesa de fútbol de la Premier League inglesa que usa tuberías como delimitadores.
pos | equipo | pld | pts 1 | leicester | 31 | 66 2 | tottenham | 31 | 61 3 | arsenal | 30 | 55 4 | man city | 30 | 51 5 | west ham | 30 | 50 6 | man utd | 30 | 50 7 | Southampton | 31 | 47 8 | stoke city | 31 | 46 9 | liverpool | 29 | 44 10 | Chelsea | 30 | 41
Esta lista incluye los 10 mejores equipos, sus nombres, la cantidad de juegos que han jugado y los puntos obtenidos.
Hay una serie de comandos de Linux que puede usar para mostrar los datos en la línea de comandos. Por ejemplo, el gato comando muestra el archivo exactamente como aparece en el archivo. los cola comando se puede utilizar para mostrar una parte del archivo o todo, al igual que el comando cabeza mando. Sin embargo, ninguno de estos comandos muestra la salida de manera que se vea bien.
Idealmente, desea poder ver los datos sin el símbolo de la tubería y separados. Ahí es donde el columna el comando entra.
Uso básico del comando de columna
Puede ejecutar el comando de columna sin ningún parámetro de la siguiente manera:
columna
Esto funciona mejor con archivos de palabras con espacios entre las palabras. no funciona tan bien con datos tabulares como en este ejemplo de tabla de liga.
La salida es la siguiente:
pos | equipo | pld | pts 2 | tottenham | 31 | 61 4 | man city | 30 | 51 6 | man utd | 30 | 50 8 | stoke city | 31 | 46 10 | Chelsea | 30 | 41 1 | leicester | 31 | 66 3 | arsenal | 30 | 55 5 | west ham | 30 | 50 7 | southampton | 31 | 47 9 | liverpool | 29 | 44
Especificando el ancho de columna
Si conoce el ancho de las columnas, puede usar el siguiente comando para separar el ancho de la columna:
columna -c
Por ejemplo, si sabe que el ancho de cada columna es de 20 caracteres, puede usar el siguiente comando:
columna -c20
En el caso de la tabla de la liga, esto no funciona bien a menos que todas las columnas tengan un cierto ancho. Para probar esto, cambie el archivo de la tabla de la liga de la siguiente manera:
pos equipo pld pts 1 leicester 31 66 2 tottenham 31 61 3 arsenal 30 55 4 man city 30 51 5 west ham 30 50 6 man utd 30 50 7 so'ton 31 47 8 stoke 31 46 9 liverpool 29 44 10 chelsea 30 41
Ahora, usando el siguiente comando, puede obtener un resultado decente:
columna -c10 leaguetable
El problema con esto es que los datos en el archivo ya se veían bien, por lo que los comandos tail, head, nano o cat podrían mostrar la misma información de una manera aceptable.
Especificar separadores usando el comando de columna
La mejor manera de usar el comando de columna en comas, tuberías u otros archivos delimitados es la siguiente:
columna -s "|" -t
El modificador -s le permite determinar el delimitador a usar. Por ejemplo, si su archivo está separado por comas, puede poner "," después de los -s. El interruptor -t muestra los datos en un formato tabular.
Separadores de salida
Hasta ahora, este ejemplo ha mostrado cómo trabajar con el delimitador de un archivo de entrada, pero qué pasa con los datos cuando se muestran en la pantalla.
El valor predeterminado de Linux es dos espacios, pero tal vez quiera usar dos puntos en su lugar. El siguiente comando le muestra cómo especificar un separador de salida:
columna -s "|" -a"::"
Cuando se usa con el archivo de la tabla de la liga, el comando produce la siguiente salida:
pos :: equipo :: pld :: pts 1 :: leicester :: 31 :: 66 2 :: tottenham :: 31 :: 61 3 :: arsenal :: 30 :: 55 4 :: man city :: 30 :: 51 5 :: west ham :: 30 :: 50 6 :: man utd :: 30 :: 50 7 :: southampton :: 31 :: 47 8 :: stoke city :: 31 :: 46 9 :: liverpool :: 29 :: 44 10 :: Chelsea :: 30 :: 41
Rellenar filas antes de columnas
Hay otro interruptor que no es particularmente útil pero se incluye aquí para completar. El modificador -x cuando se usa con el modificador -c llena las filas antes de las columnas.
¿Entonces que significa eso? Mira el siguiente ejemplo:
columna -c100 leaguetable
La salida de esto sería la siguiente:
pos | equipo | pld | pts 3 | arsenal | 30 | 55 6 | man utd | 30 | 50 9 | liverpool | 29 | 44 1 | leicester | 31 | 66 4 | man city | 30 | 51 7 | southampton | 31 | 47 10 | Chelsea | 30 | 41 2 | Tottenham | 31 | 61 5 | West Ham | 30 | 50 8 | Stoke City | 31 | 46
Como puedes ver, primero baja y luego cruza.
Ahora mira este ejemplo:
columna -c100 -x leaguetable
Esta vez la salida es la siguiente:
pos | equipo | pld | pts 1 | leicester | 31 | 66 2 | tottenham | 31 | 61 3 | arsenal | 30 | 55 4 | man city | 30 | 51 5 | west ham | 30 | 50 6 | man utd | 30 | 50 7 | Southampton | 31 | 47 8 | stoke city | 31 | 46 9 | liverpool | 29 | 44 10 | Chelsea | 30 | 41
Los datos pasan por la pantalla y luego hacia abajo.
Otros interruptores
Los únicos otros interruptores disponibles son los siguientes:
columna -V
Esto muestra la versión de la columna instalada en su computadora.
columna - ayuda
Esto muestra la página de manual a la ventana de terminal.