Мне бы хотелось получить 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> как движение к следующей позиции символа, кратной восьми. Поэтому вы обычно получаете вывод du
аккуратными столбцами, если только у вас нет значения размера, которое составляет восемь символов или больше, а это практически невозможно с этой -h
опцией.
Похоже, ваша консоль настроена на интерпретацию символов <Tab> как движение к следующей позиции символа, кратной четырем. Поэтому (в некотором смысле) «правильный» ответ — исправить вашу консоль так, чтобы она обрабатывала вкладки обычным образом.
Если вы не можете разобраться, как настроить позиции табуляции в терминале, другой выход — передать вывод через expand
:
du -sh * | sort -hr | expand