|
>>4976 68user ありがとうございます。 また、返事が遅くなって申し訳ありません。 > find . -newer foo ですか。 シェルで、findの結果を取得することも考えました。 > あたりかと思いますが、いずれも前日9時と比較する部分は手で書かないと > いけないように見えますので、イマイチですね。 Perlを使おうとしていたので、手で書かなくてはいけないと思っていました この部分の良い方法が実現できなくて。 環境上、教えて頂いたモジュールも入れることができません。 |
|
>>4977 べた find . -newer foo の方法を書いておきます。find を使わないなら、 昨日9時の日時 (20090323090000) を Time::Local で epoch time に 直しておき、stat() が返す最終更新時刻と比較すればよいでしょう。 ------ my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time()-60*60*24); my $timestamp = sprintf("%04d%02d%02d%02d%02d.%02d", $year+1900, $mon+1, $mday, 9, 0, 0); my $yeasterday_9am_file = "foo.txt"; system("touch -t $timestamp $yeasterday_9am_file"); open(IN, "find . -type f -newer $yeasterday_9am_file |"); while (<IN>){ chomp; print "$_\n"; } |