Skip to main content

Mostrar contenido del archivo en formato de columna dentro de Linux

Dividir Txt Texto En Columnas En Excel 2007 2010 2013 (Abril 2025)

Dividir Txt Texto En Columnas En Excel 2007 2010 2013 (Abril 2025)
Anonim

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.