Linux Column Befehl Tutorial für Anfänger (mit Beispielen)

Manchmal, während Sie auf der Kommandozeile unter Linux arbeiten, möchten Sie vielleicht den Inhalt einer Datei im Spaltenformat anzeigen. Sie werden froh sein zu wissen, dass es in Linux ein Befehlszeilenprogramm gibt, mit dem Sie dies tun können. Der Name des Tools ist Spalte, und wir werden die Grundlagen dieses Befehls anhand einiger leicht verständlicher Beispiele besprechen.

Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einer Ubuntu 18.04 LTS Maschine getestet wurden.

Linux Column befehl

Mit dem Befehl column unter Linux können Sie Listen mit Spalten versehen. Folgendes ist seine Syntax:

column [-entx] [-c columns] [-s sep] [file ...]

Und so definiert es die Man Page des Tools:

     The column utility formats its input into multiple columns.  Rows are
     filled before columns.  Input is taken from file operands, or, by
     default, from the standard input.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine bessere Vorstellung davon vermitteln sollen, wie der Spaltenbefehl funktioniert.

Q1. Wie verwendet man den column Befehl?

Die grundlegende Bedienung ist ziemlich einfach. Angenommen, Sie haben eine Datei namens’test.txt‘, die die folgenden Informationen enthält:

1
2
3
4
5
6
7
8
9
10

Um nun den Inhalt dieser Datei zu spalten, verwenden Sie den Befehl column wie folgt:

column test.txt

Und Sie erhalten eine solche Ausgabe:

1    2    3    4    5    6    7    8    9    10

Q2. Wie kann man eine abgegrenzte Ausgabe spalten?

Angenommen, eine Datei enthält den folgenden Inhalt:

No.|Country|Yes/No
01|India|Y
02|US|Y
03|Australia|Y
04|China|N
05|Russia|Y
06|Japan|Y
07|Singapore|Y
08|South Korea|N
09|Finaland|Y
10|Ireland|Y

Führen Sie nun den Spaltenbefehl wie folgt aus:

column test.txt -t -s "|"

Und hier ist der Output:

No.  Country      Yes/No
01   India        Y
02   US           Y
03   Australia    Y
04   China        N
05   Russia       Y
06   Japan        Y
07   Singpaore    Y
08   South Korea  N
09   Finaland     Y
10   Ireland      Y

Zu deiner Information, so erklärt die Man Page column command die Befehlszeilenoptionen -t und -s:

-s      Specify a set of characters to be used to delimit columns for the
        -t option.

-t      Determine the number of columns the input contains and create a
table.  Columns are delimited with whitespace, by default, or
with the characters supplied using the -s option.  Useful for
pretty-printing displays.

Q3. Was ist mit Fällen mit mehreren Trennzeichen?

Im vorherigen Beispiel haben Sie gesehen, dass der ursprüngliche Inhalt die Pipe ‚|‘ als Trennzeichen enthielt. Der Befehl column hat also dieses Trennzeichen verwendet, um eine Ausgabe im spaltenförmigen Format zu erzeugen. Aber was wäre, wenn es in einigen Eingängen zwei Rohre gäbe? Siehe z.B. die erste Zeile hier:

No.||Country||Yes/No
01|India|Y
02|US|Y
03|Australia|Y
04|China|N
05|Russia|Y
06|Japan|Y
07|Singpaore|Y
08|South Korea|N
09|Finland|Y
10|Ireland|Y

Standardmäßig führt der Befehl column mehrere benachbarte Trennzeichen zu einem einzigen Trennzeichen zusammen. Wenn Sie jedoch möchten, können Sie die Befehlszeilenoption -n verwenden, um dieses Verhalten zu deaktivieren. In diesem Fall würde der Spaltenbefehl also zu:

column -n test.txt -t -s "|"

Q4. Wie geht der Spaltenbefehl mit leeren Zeilen um?

Standardmäßig werden leere Zeilen vom Befehl column ignoriert. Wenn Sie möchten, können Sie dieses Verhalten jedoch mit der Kommandozeilenoption -e unterdrücken.

Zum Beispiel, Dateiinhalt Zeile diese:

No.|Country|Yes/No
01|India|Y
02|US|Y
03|Australia|Y

04|China|N
05|Russia|Y
06|Japan|Y

07|Singapore|Y
08|South Korea|N
09|Finland|Y
10|Ireland|Y

Wird so herauskommen:

No.  Country      Yes/No
01   India        Y
02   US           Y
03   Australia    Y

04   China        N
05   Russia       Y
06   Japan        Y

07   Singapore    Y
08   South Korea  N
09   Finland     Y
10   Ireland      Y

mit dem folgenden Befehl:

column -e test.txt -t -s "|"

Fazit

Abhängig von der Art der Arbeit, die Sie auf der Linux-Befehlszeile leisten, kann Ihnen der Befehl column eine große Hilfe sein. In diesem Tutorial haben wir die Mehrheitsoptionen des Tools diskutiert. Weitere Informationen findest du auf der Man Page.

Das könnte dich auch interessieren …