È possibile visualizzare un file delimitato nel terminale Linux in modo che ogni elemento delimitato sia visualizzato all'interno della propria colonna. Ad esempio, ecco un esempio di tavolo da calcio inglese Premier League che utilizza i pipe come delimitatori.
pos | team | 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
Questa lista include le prime 10 squadre, i loro nomi, il numero di partite giocate e i punti segnati.
Esistono numerosi comandi Linux che è possibile utilizzare per visualizzare i dati nella riga di comando. Ad esempio, il gatto comando visualizza il file esattamente come appare nel file. Il coda il comando può essere usato per mostrare una porzione del file o tutto il resto, così come il capo comando. Tuttavia, nessuno di questi comandi visualizza l'output in un modo che lo rende bello.
Idealmente, vuoi essere in grado di vedere i dati senza il simbolo del tubo e distanziati. Questo è dove il colonna comando entra
Uso di base del comando Colonna
È possibile eseguire il comando della colonna senza parametri come segue:
colonna
Funziona meglio con file di parole con spazi tra le parole. non funziona altrettanto bene con i dati tabulari come in questo esempio di tabella di campionato.
L'output è il seguente:
pos | team | 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
Specifica della larghezza della colonna
Se conosci la larghezza delle colonne, puoi utilizzare il seguente comando per separare la colonna in base alla larghezza:
colonna -c
Ad esempio, se si conosce la larghezza di ciascuna colonna di 20 caratteri, è possibile utilizzare il seguente comando:
colonna -c20
Nel caso della classifica, questo non funziona bene a meno che tutte le colonne non abbiano una certa larghezza. Per provarlo, cambia il file della classifica come segue:
pos team 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
Ora usando il seguente comando, puoi ottenere un output decente:
colonna -c10 leaguetable
Il problema è che i dati nel file erano già in buone condizioni, quindi i comandi tail, head, nano o cat potevano mostrare le stesse informazioni in modo accettabile.
Specifica dei separatori mediante il comando Colonna
Il modo migliore per utilizzare il comando di colonna su virgola, pipe o altri file delimitati è il seguente:
colonna -s "|" -t
L'opzione -s consente di determinare il delimitatore da utilizzare. Ad esempio, se il tuo file è separato da virgola, puoi inserire "," dopo il -s. L'opzione -t visualizza i dati in un formato tabulare.
Separatori di uscita
Finora questo esempio ha mostrato come lavorare con il delimitatore di un file di input, ma per quanto riguarda i dati quando viene visualizzato sullo schermo.
Il default di Linux è di due spazi, ma forse si preferisce usare due punti. Il seguente comando mostra come specificare un separatore di output:
colonna -s "|" -a"::"
Quando viene utilizzato con il file della tabella della lega, il comando produce il seguente risultato:
pos :: team :: 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
Riempi le righe prima delle colonne
C'è un altro interruttore che non è particolarmente utile ma è incluso qui per completezza. L'opzione -x quando usata con l'opzione -c riempie le righe prima delle colonne.
Che cosa vuol dire? Guarda il seguente esempio:
colonna -c100 leaguetable
L'output di questo sarebbe il seguente:
pos | team | 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
Come puoi vedere, prima scende e poi attraversa.
Ora guarda questo esempio:
colonna -c100 -x leaguetable
Questa volta l'output è il seguente:
pos | team | 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
I dati attraversano lo schermo e poi verso il basso.
Altri interruttori
Gli unici altri switch disponibili sono i seguenti:
colonna -V
Questo mostra la versione della colonna installata sul tuo computer.
colonna --help
Questo visualizza la pagina manuale nella finestra del terminale.