回答:
あれば 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
も役立ちます。