如何修復du tab對齊?

如何修復du tab對齊?

我想du以整齊的列形式獲得輸出。

這就是我得到的:

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

期望的輸出與輸出類似ls -lh

答案1

du在大小列和名稱列之間輸出一個 <Tab> 字元。終端機/控制台通常將 <Tab> 字元解釋為移動到下一個字元位置(8 的倍數)。因此,您通常會du以整齊的列形式獲得輸出,除非您的大小值是八個字元或更多,而這對於該-h選項來說幾乎是不可能的。

您的控制台似乎配置為將 <Tab> 字元解釋為移動到下一個字元位置(四的倍數)。因此(在某種意義上)「正確」的答案是修復您的控制台,使其以正常方式處理選項卡。

如果您不知道如何在終端機中配置製表位,另一個答案是透過管道輸出expand

du -sh * | sort -hr | expand

相關內容