Linux column-Befehl
columnist ein praktisches Kommandozeilenwerkzeug in Linux-Systemen, das Eingabetext in eine mehrspaltige Anzeige formatiert. Es kann ursprünglich unordentliche Textdaten in eine übersichtliche Tabellenform umorganisieren und verbessert dadurch die Lesbarkeit erheblich.
Typische Anwendungsfälle:
- Befehlsausgabe formatieren (z. B.,
ls、psusw.) - CSV- oder TSV-Daten organisieren
- Einfache Terminal-Tabellen erstellen
- Inhalt der Logdatei ausrichten
Grundlegende Syntax
column [选项] [文件名]
Wenn kein Dateiname angegeben ist,columnwerden Daten von der Standardeingabe gelesen.
Allgemeine Optionen und Parameter
| Option | Beschreibung |
|---|---|
-t |
Eingabetrennzeichen automatisch erkennen und eine Tabelle erstellen |
-s sep |
Benutzerdefiniertes Spaltentrennzeichen angeben (Standard ist Leerraum) |
-c width |
Gesamtausgabebreite festlegen (in Zeichen) |
-x |
Zuerst Zeilen, dann Spalten füllen (Standard ist zuerst Spalten, dann Zeilen) |
-o sep |
Ausgabespaltentrennzeichen angeben (Standard sind zwei Leerzeichen) |
-N names |
Namen für jede Spalte angeben (durch Kommas getrennt) |
-n |
Mehrere aufeinanderfolgende Trennzeichen nicht zusammenführen |
Anwendungsbeispiele
Grundlegende Tabellenformatierung
Beispiel
$ 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
Name Age Gender
Alice 25 F
Bob 30 M
Charlie 22 M
Umgang mit CSV-Daten
Beispiel
$ echo -e "ID,Name,Departmentn101,Alice,Salesn102,Bob,IT" | column -s, -t
ID Name Department
101 Alice Sales
102 Bob IT
ID Name Department
101 Alice Sales
102 Bob IT
Benutzerdefiniertes Ausgabetrennzeichen
Beispiel
$ echo -e "1 2 3n4 5 6" | column -t -o " | "
1 | 2 | 3
4 | 5 | 6
1 | 2 | 3
4 | 5 | 6
Kombination mit anderen Befehlen
Beispiel
$ 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
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
Erweiterte Nutzung
Umgang mit unregelmäßigen Daten
Beispiel
$ echo -e "Artikel:Preis:BestandnApfel:1.2:50nOrange:0.8:30" | column -s: -t
Artikel Preis Bestand
Apfel 1.2 50
Orange 0.8 30
Artikel Preis Bestand
Apfel 1.2 50
Orange 0.8 30
Spaltennamen angeben
Beispiel
$ echo -e "Alice 25nBob 30" | column -N "Name,Alter" -t
Name Alter
Alice 25
Bob 30
Name Alter
Alice 25
Bob 30
Steuerung der Ausgabebreite
Beispiel
$ 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
1 3 5 7 9
2 4 6 8 10
Hinweise
- Umgang mit Trennzeichen: Standardmäßig,
columnbehandelt mehrere aufeinanderfolgende Leerraumzeichen als ein Trennzeichen; die Verwendung der-nOption kann dieses Verhalten deaktivieren - Sonderzeichen: Wenn die Daten Trennzeichen wie Leerzeichen oder Tabulatoren enthalten, wird empfohlen, das Trennzeichen explizit anzugeben
- Leistungsaspekte: Bei der Verarbeitung großer Dateien,
columnkann viel Arbeitsspeicher erfordern - Ausrichtung: Alle Spalten sind standardmäßig linksbündig; die direkte Angabe der Ausrichtung wird derzeit nicht unterstützt
Vergleich der Alternativen
| Tool | Vorteile | Nachteile |
|---|---|---|
column |
Einfach und benutzerfreundlich, in Linux integriert | Relativ grundlegende Funktionalität |
awk |
Sehr flexibel und leistungsstark | Komplexe Syntax |
pr |
Unterstützt Paging und Spaltensteuerung | Komplexe Optionen |
paste |
Geeignet zum Zusammenführen von Dateispalten | Eingeschränkte Formatierungsmöglichkeiten |
Übungsaufgaben
- Nehmen Sie Ihre
/etc/passwdDatei und formatieren Sie die ersten 5 Zeilen als Tabelle (Tipp: Verwenden Sie:als Trennzeichen) - Versuchen Sie, den
columnBefehl zum Organisieren Ihrer Prozessliste (ps auxAusgabe) - Erstellen Sie eine Textdatei mit drei Datenspalten und experimentieren Sie mit verschiedenen Trennzeichen
-sAuswirkung der Option
Beispiel
# Beispiellösung für Übung 1
head -5 /etc/passwd | column -s: -t
head -5 /etc/passwd | column -s: -t
Durch die Beherrschung dercolumnBefehl, können Sie unordentliche Textdaten ganz einfach in eine lesbare Tabellenform umwandeln, was im täglichen Systemadministrations- und Datenverarbeitungsalltag sehr praktisch ist.
Andere Erweiterungen
Linux-Befehlsenzyklopädie