Как получить размер файла в человекочитаемом формате из байтов

human_filesize() { awk -v sum="$1" ' BEGIN {hum[1024^3]="Gb"; hum[1024^2]="Mb"; hum[1024]="Kb"; for (x=1024^3; x>=1024; x/=1024) { if (sum>=x) { printf "%.2f %s\n",sum/x,hum[x]; break; } } if (sum<1024) print "1kb"; } '}


Эта команда преобразует размер файла, переданный в байтах, в человекочитаемый формат (Гб, Мб, Кб) и выводит его. Аргументом команды является размер файла в байтах. Альтернативой может быть использование интегрированных утилит, таких как du -h или ls -lh, для получения человекочитаемого размера файла.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *