回答:
あれば num-utils パッケージがインストールされている numsum 多数の数字を追加する簡単な方法を提供します。しながら numfmt 出力を単純化します。
find . -type f -mtime -365 -printf '%s\n' | numsum | numfmt --to=iec
( find から借りたコード Ziggy Crueltyfree Zeitgeister 。)
最後に 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
perlを使ってfindの出力を合計することができます。
find . -type f -mtime -365 -printf '%s\n' |\
perl -e 'my $s=0; while(<>) { $s += $_; } print "$s\n"'
find . -type f -mtime -365 -printf '%s\n' | numsum
| numfmt --to=iec も役立ちます。