@kyanny's blog

My life. Opinions are my own.

n日以上古いファイルが合計でどれくらいディスク容量を食っているかを調べるワンライナー

$ find . -atime +90d -exec ls -l {} \; | awk '{print $5}' | perl -nle '$n+=$_;END{print $n / 1024/1024/1024}'

awk 使わなくてもいけた

$ find . -mtime +90d -exec ls -l {} \; | perl -anle 'print $F[-1]; $n+=$F[4]; END {print $n / 1024/1024/1024}'

条件に合うファイル名と、そのファイルすべての容量合計を GB 単位で表示。

さらにエレガント?に

$ find . -mtime +90d -exec perl -le 'print -s shift' {} \; | perl -nle '$n+=$_;END{print $n/1024/1024/1024}'

ls -l の結果をパースするなんてダサイことはやめよう。そしていいかげん /1024/1024 とかかくのがだるくなってきた。 $n/$GB とか書きたい。