3日経過したファイルを一覧表示したいと思います。私はこれを stackoverflow で見つけました:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' ' | grep 2012
しかし、コマンド全体が何を意味するのか理解できません。短くてわかりやすいものがあるのではないでしょうか。
これはうまくいくはずです
find . -type f -mtime -3
説明
find find files
. starting in the current directory (and it's subdirectories)
-type f which are plain files (not directories, or devices etc)
-mtime -3 modified less than 3 days ago
見る man find
詳細については
更新
特定の日時(2013年2月20日の08:15など)より前に最後に変更されたファイルを検索するには、次のようにします。
touch -t 201302200815 freds_accident
find . -type f ! -newer freds_accident
rm freds_accident
見る man touch
(またはinfo touch
--ugh!)
これは適度に恐ろしいことであり、より良い方法があるかもしれません。上記のアプローチは、現在のLinuxだけでなく、古代および非GNUUnixでも機能します。
検索は、-ctimeおよび-mtime +/-引数の間隔をサポートします。
例えば.
$ for y in {07..14};do \
for m in {01..12};do \
for d in {01..30};do \
touch -t 20$y$m${d}0101 $y$m$d.file ;done;done;done
$ find . -mtime +0 -mtime -$(( 3 * 365 + 3 )) |sort
./100304.file
./100305.file
./100306.file
(...)
./130302.file
./130303.file
./130304.file
3年から3日前から1週間前までの間隔でファイルを作成する場合は、-mtime +7 -mtime-1098を使用します。