Befehlsausgabe oder Dateiinhalt im Spaltenformat anzeigen
Haben Sie es satt, überlastete Befehlsausgaben oder Dateiinhalte auf dem Terminal anzuzeigen? In diesem kurzen Artikel wird gezeigt, wie Sie die Befehlsausgabe oder den Inhalt einer Datei in einem sehr klaren "spaltenförmigen" Format anzeigen können.
Wir können das Spaltendienstprogramm verwenden, um die Standardeingabe oder den Inhalt einer Datei in eine tabellarische Form mehrerer Spalten umzuwandeln, um eine viel klarere Ausgabe zu erhalten.
Lesen Sie auch: 12 nützliche Befehle zum Filtern von Text für effektive Dateioperationen in Linux
Um das besser zu verstehen, haben wir eine folgende Datei "tecmint-authors.txt" erstellt, die eine Liste der Namen der Top-10-Autoren, die Anzahl der geschriebenen Artikel und die Anzahl der Kommentare, die sie bisher zu dem Artikel erhalten haben, enthält.
Um dies zu demonstrieren, führen Sie den folgenden cat-Befehl aus, um die tecmint-authors.txt Datei anzuzeigen.
$ cat tecmint-authors.txt
Beispiel-Ausgabe
pos|author|articles|comments
1|ravisaive|431|9785
2|aaronkili|369|7894
3|avishek|194|2349
4|cezarmatei|172|3256
5|gacanepa|165|2378
6|marintodorov|44|144
7|babin lonston|40|457
8|hannyhelal|30|367
9|gunjit kher|20|156
10|jesseafolabi|12|89
Mit dem Befehl column können wir eine sehr übersichtliche Ausgabe wie folgt anzeigen, wobei -t hilft, die Anzahl der Spalten zu bestimmen, die die Eingabe enthält, und eine Tabelle erstellt und -s ein Trennzeichen angibt.
$ cat tecmint-authors.txt | column -t -s "|"
Beispiel-Ausgabe
pos author articles comments
1 ravisaive 431 9785
2 aaronkili 369 7894
3 avishek 194 2349
4 cezarmatei 172 3256
5 gacanepa 165 2378
6 marintodorov 44 144
7 babin lonston 40 457
8 hannyhelal 30 367
9 gunjit kher 20 156
10 jesseafolabi 12 89
Standardmäßig werden Zeilen vor Spalten gefüllt, um Spalten vor dem Füllen von Zeilen zu füllen, verwenden Sie den Schalter -x und um den Spaltenbefehl anzuweisen, leere Zeilen zu berücksichtigen (die standardmäßig ignoriert werden), fügen Sie das Flag -e ein.
Hier ist ein weiteres praktisches Beispiel, führen Sie die beiden folgenden Befehle aus und sehen Sie den Unterschied, um die magische Spalte besser zu verstehen.
$ mount
mount | column -t
Beispiel-Ausgabe
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4013172k,nr_inodes=1003293,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=806904k,mode=755)
/dev/sda10 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (rw,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/
....
Um die schön formatierte Ausgabe in einer Datei zu speichern, verwenden Sie die Ausgabeumleitung wie gezeigt.
$ mount | column -t >mount.out
Weitere Informationen finden Sie auf der Manpage columns:
$ man column
Vielleicht möchten Sie auch die folgenden verwandten Artikel lesen.
- So verwenden Sie awk und reguläre Ausdrücke, um Text oder Zeichenfolgen in Dateien zu filtern
- So finden und sortieren Sie Dateien basierend auf Änderungsdatum und -uhrzeit in Linux
- 11 Erweiterte Linux-'grep'-Befehle für Zeichenklassen und Klammerausdrücke
Wenn Sie Fragen haben, verwenden Sie das Kommentarformular unten, um uns zu schreiben. Sie können uns auch alle nützlichen Tipps und Tricks zur Befehlszeile unter Linux mitteilen.