我想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