Ce face column
Comanda column primește rânduri de text și le afișează aliniat. Cea mai folosită formă este column -t: comanda detectează câmpurile fiecărui rând și calculează lățimea fiecărei coloane, apoi le separă prin două spații.
Implicit câmpurile sunt despărțite de spații sau tab-uri. Pentru fișiere CSV sau pentru ieșirea altor comenzi (de exemplu /etc/passwd, separat prin :) indici separatorul cu -s. Pe Linux, column face parte din pachetul util-linux, care are și opțiuni în plus față de varianta BSD: nume de coloane (-N), aliniere la dreapta (-R) și separator de ieșire (-o).
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
-t |
Creează un tabel: aliniază câmpurile fiecărui rând în coloane. |
-s SEPARATOR |
Caracterele care separă câmpurile la intrare (ex. -s, pentru CSV, -s: pentru /etc/passwd). |
-o ȘIR |
Șirul pus între coloane la ieșire (implicit două spații). Doar în util-linux. |
-N NUME,... |
Dă nume coloanelor; numele apar ca antet al tabelului. Doar în util-linux. |
-R COLOANE |
Aliniază la dreapta coloanele indicate (util pentru sume și numere). Doar în util-linux. |
Exemple
Exemplul 1: Alinierea unui fișier cu note
Fișierul are câmpurile separate prin câte un spațiu, deci rândurile nu sunt aliniate. column -t face din el un tabel.
cat > note.txt <<'EOF'
nume oras nota
Ana Cluj 9
Mihai Arad 10
Ioana Sibiu 8
EOF
column -t note.txt
Rezultat
nume oras nota
Ana Cluj 9
Mihai Arad 10
Ioana Sibiu 8
Exemplul 2: Afișarea unui fișier CSV ca tabel
Cu -s, virgula devine separatorul de câmpuri.
cat > comenzi.csv <<'EOF'
client,oras,suma
Ana,Cluj-Napoca,1200
Radu,Arad,85
EOF
column -t -s, comenzi.csv
Rezultat
client oras suma
Ana Cluj-Napoca 1200
Radu Arad 85
Exemplul 3: Antet, aliniere la dreapta și separator propriu (util-linux)
Fișierul nu are antet, așa că îl dăm cu -N; coloana suma este aliniată la dreapta cu -R, iar -o pune o bară verticală între coloane.
printf 'Ana,Cluj,1200\nRadu,Arad,850\n' > plati.csv
column -t -s, -N nume,oras,suma -R suma -o ' | ' plati.csv
Ieșire în terminal
nume | oras | suma
Ana | Cluj | 1200
Radu | Arad | 850
Greșeli frecvente
- Câmpurile goale din CSV (
Ana,,1200):column -tpoate comasa separatorii alăturați, iar valorile ajung în coloana greșită. Completează câmpurile goale (de exemplu cu-) înainte de afișare. - Folosirea lui
columnpentru fișiere CSV cu virgule între ghilimele ("Iași, Copou"): comanda nu înțelege ghilimelele și taie câmpul în două.
Comenzi înrudite
cut: Decupează secțiuni, coloane sau intervale de caractere din fiecare linie de text.paste: Lipește rândurile mai multor fișiere unul lângă altul sau unește toate rândurile unui fișier într-unul singur.awk: Limbaj de procesare a textului structurat pe coloane, ideal pentru rapoarte și extragere de date.sort: Sortează liniile de text în ordine alfabetică, numerică sau după o coloană specifică.