ある日付よりも古いファイルの一覧を取得する(find)

昨年以前に作成されたファイルの一覧を取得する方法を調べたのでメモしておきます。

findコマンドの-newer fileというオプションを利用します。
引数で渡されたfileの日付以降に修正されたファイルを見つけるオプションです。
今回は古い方を探したいので、!を使ってこの条件を否定します。

まずは、比較用のファイル、20100101を作成します。

# touch 20100101

日付変更前の情報

# ll
-rw-r--r-- 1 root   root      0  98 10:37 20100101

日付変更実施

# touch -t 201001010000.00 20100101

変更後の情報

# ll
-rw-r--r-- 1 root   root        0  11  2010 20100101

比較用ファイルができたので、実際に2009年以前に作られたファイルを検索します。

# find . -type f ! -newer 20100101 -printf "%t\t%s\n"
Thu Nov 13 09:57:18 2008        1597
Thu Nov 13 09:57:19 2008        24576
Thu Nov 13 09:57:10 2008        11242
Thu Nov 13 09:57:18 2008        15360
Thu Nov 13 09:57:10 2008        20386
Thu Nov 13 10:01:50 2008        104857
Mon Sep 28 10:31:02 2009        345654
Fri Sep 25 16:25:33 2009        345654
Fri Sep 25 11:32:43 2009        345654
Mon Sep 28 11:51:02 2009        589878

printfで最終更新日とファイルサイズを表示させています。

とりあえずやりたかったことはこれで実現できたかな…。


この後、サイズの合計を出す作業もあるのですが、それはローカルに持ってきてエクセルで計算しようかと思っています。