Se o pacote num-utils estiver instalado, numsum
fornece uma maneira fácil de adicionar muitos números; while numfmt
simplifica a saída:
find . -type f -mtime -365 -printf '%s\n' | numsum | numfmt --to=iec
( find
código emprestado de Ziggy Crueltyfree Zeitgeister .)
Nos últimos 5 anos, faça:
find . -type f -mtime -$((365 * 5)) -printf '%s\n' | numsum | numfmt --to=iec
Se uma contagem precisa de dias for necessária, date
fornecerá isso. Aqui está uma função do shell que retorna o número de dias exato nos últimos n anos:
# covert Last _n_ Years to Days
# usage: ly2d n
ly2d() \
{ echo $(( \
$(( 'date -d today +%s' - \
'date -d $1" years ago" +%s' )) \
/ 60 / 60 / 24 )) ; \
}
Usando ly2d
nos últimos 5 anos:
find . -type f -mtime -$(ly2d 5) -printf '%s\n' | numsum | numfmt --to=iec