Возможно, -h
достаточно для Вас:
- h
При использовании с-l опцией используйте суффиксы единицы: Байт, Килобайт, Мегабайт, Гигабайт, Терабайт и Петабайт для сокращения количества цифр к трем или меньше основам использования 2 для размеров.
ls -lah
Общие рекомендации: Использовать man commandname
прочитать руководство/справку определенной команды, например, здесь man ls
.
ls --block-size=M
печатает размеры в Мегабайтах, но показывает 1 МБ также для чего-либо ниже 1 МБ. Я не уверен, если эта опция приемлема в Вашей версии UNIX ls, все же.
На самом деле ls -lh
также размеры печати в Гигабайтах, если файл является достаточно большим (Хорошо так или иначе: на Linux 64 бита это действительно работает:>)
На узле стороны: du -sh *
печать также размеры каталога в текущем каталоге.
Необходимо будет использовать awk
сделать математику для Вас:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
Это не будет влиять на вывод для файлов, которые меньше, чем mega
.
Вы, возможно, должны скорректировать полевое число для соответствия пути Ваш ls
размечается. Можно измениться mega
к "1000000", если это - Ваше предпочтение.
Это распечатает больше десятичных разрядов, чем Вы, вероятно, хотите. Вы могли реализовать округляющуюся функцию.