find -mtime を使う # 最終更新から 24 時間以上経過しているか if [[ "$(find /path/to/file -mtime +0)" != "" ]]; then echo 'OLD!' else echo 'NEW!' fi -mtime +0 がなぜ「24時間以上前」になるのか?について: http://linuxjm.osdn.jp/html/GNU_findutils/man1/find.1.html より -mtime n ファイルの最終内容更新日時が、基点となる時刻から計算して n 日前に当たれば、真を返す (訳注: 基点となる時刻は、デフォルトでは find を実行している今現在である)。 (snip) なお、デフォルトの動作のように、現在時刻から数えて 24 時間前から 48 時間前までを 1 日前とする つまり、 1日前 = 24時間前から48時