如何修复 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> 字符解释为移动到下一个字符位置,该位置是 4 的倍数。因此(在某种意义上)“正确”的答案是修复您的控制台,使其以正常方式处理制表符。

如果您不知道如何在终端中配置制表位,另一种方法是通过管道传输输出expand

du -sh * | sort -hr | expand

相关内容