Если пакет num-utils установлен, numsum
предоставляет простой способ добавить много чисел; пока numfmt
упрощает вывод:
find . -type f -mtime -365 -printf '%s\n' | numsum | numfmt --to=iec
( find
Код заимствован у Зигги Жестокий Зейтгейстер .)
За последние 5 лет:
find . -type f -mtime -$((365 * 5)) -printf '%s\n' | numsum | numfmt --to=iec
Если требуется точное количество дней, date
предоставим это. Вот функция оболочки, которая возвращает точное количество дней за последние n лет:
# covert Last _n_ Years to Days # usage: ly2d n ly2d() \ { echo $(( \ $(( `date -d today +%s` - \ `date -d $1" years ago" +%s` )) \ / 60 / 60 / 24 )) ; \ }
Использование ly2d
за последние 5 лет:
find . -type f -mtime -$(ly2d 5) -printf '%s\n' | numsum | numfmt --to=iec