Wie kann ich die Tabulatorausrichtung korrigieren?

Wie kann ich die Tabulatorausrichtung korrigieren?

Ich möchte die duAusgabe in übersichtlichen Spalten erhalten.

Das ist, was ich bekomme:

du -sh * | sort -hr
----
48M app
11M lib
6.7M    image.jpg
1.1M    image2.jpg
488K    code.c
488K    code.py
72K doc.txt
16K notes.txt
4.0K    README.md

Die gewünschte Ausgabe ähnelt der ls -lhAusgabe.

Antwort1

dugibt ein <Tab>-Zeichen zwischen der Größenspalte und der Namensspalte aus. Terminals/Konsolen interpretieren <Tab>-Zeichen normalerweise als Bewegung zur nächsten Zeichenposition, die ein Vielfaches von acht ist. Sie würden die duAusgabe also normalerweise in ordentlichen Spalten erhalten, es sei denn, Sie haben einen Größenwert von acht Zeichen oder mehr, und das ist mit dieser -hOption so gut wie unmöglich.

Es scheint, dass Ihre Konsole so konfiguriert ist, dass sie <Tab>-Zeichen als Bewegung zur nächsten Zeichenposition interpretiert, die ein Vielfaches von vier ist. Die (in gewissem Sinne) „richtige“ Antwort besteht also darin, Ihre Konsole so zu reparieren, dass sie Tabs auf die normale Weise verarbeitet.

Wenn Sie nicht herausfinden können, wie Sie die Tabulatorstopps in Ihrem Terminal konfigurieren, besteht die andere Möglichkeit darin, die Ausgabe weiterzuleiten durch expand:

du -sh * | sort -hr | expand

verwandte Informationen