- ベストアンサー
3日以上前7日未満以内に修正されたファイルを探すには?
宜しくお願い致します。 RedHat9を使用しています。24時間いないに修正されたファイルを見つけ出す場合には、 # find -mtime -1 として上手くいきました。 それで、 3日以上前7日未満以内 に修正されたファイルを見つけ出すにはどうすればいいんでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- shuyamakawa
- ベストアンサー率67% (111/164)
回答No.3
- shuyamakawa
- ベストアンサー率67% (111/164)
回答No.2
- shuyamakawa
- ベストアンサー率67% (111/164)
回答No.1
お礼
ありがとうございます。 find /etc -type f -mtime +n は 『(現在時刻)-(タイムスタンプ) < 24n×3600』(単位は秒) を満たすタイムスタンプのファイル。 find /etc -type f -mtime-n は 『(現在時刻)-(タイムスタンプ) > 24(n+1)×3600』(単位は秒) を満たすタイムスタンプのファイル。 find /etc -type f -mtime n は 『24n×3600 ≦ (現在時刻)-(タイムスタンプ) ≦ 24n×3600』(単位は秒) を満たすタイムスタンプのファイル。 なのですね。という事は、 find /etc -type f -mtime +7 -mtime -8 は現在時刻から 「(7×24=)168時間経過してない」 且つ 「((8+1)×24=)216時間を超えて経過している(つまり、216時間より前に更新され た)」 という意味なのですね。 実際に何もヒットしませんでした。 そんな矛盾したタイムスタンプを持ったファイルは存在し得ないからアタリマエなのですね。
補足
有難うございます。 > 私は前回の回答で、 > # find /etc -type f -mtime +2 -mtime -4 | ls -l > と > # ls -l > が同じ結果になると言っています。 そういう意味だったのですね。勘違いしてしまいまして、大変失礼致しました。 >> 所で、 >> # find /etc -type f -mtime +7 -mtime -8 -exec ls -lF \{\} \ > より正確にいうと、 > 「-mtime +7」は、更新日付が7日を越えるという(つまり8日0時0分0秒以上)条件を、 7以上日間経過かつ8以内日間経過ですよね。 有難うございます。色々と幾度と試して見ました。 > # find /etc -type f -mtime +7 -exec ls -lF \{\} \; 現在を2004/12/21/12:44:33だとすると 2004/12/14/12:44:33以前 > # find /etc -type f -mtime +8 -exec ls -lF \{\} \; 2004/12/13/12:44:33以前 > # find /etc -type f -mtime +9 -exec ls -lF \{\} \; 2004/12/12/12:44:33以前 > # find /etc -type f -mtime -7 -exec ls -lF \{\} \; 2004/12/14/12:44:33から2004/12/21/12:44:33まで > # find /etc -type f -mtime -8 -exec ls -lF \{\} \; 2004/12/13/12:44:33から2004/12/21/12:44:33まで > # find /etc -type f -mtime -9 -exec ls -lF \{\} \; 2004/12/12/12:44:33から2004/12/21/12:44:33まで という事ですよね。 > くどい説明になるかもしれませんが、 > # find /etc -type f -mtime +7 -mtime -8 -exec ls -lF \{\} \; > は > # find /etc -type f -mtime +7 -exec ls -lF \{\} \; > と > # find /etc -type f -mtime -8 -exec ls -lF \{\} \; > とのAND条件での検索に過ぎません。 AND条件ですよね。としますと 「2004/12/14/12:44:33以前(現在から7日以上経過したもの)」 かつ 「2004/12/13/12:44:33から(現在)2004/12/21/12:44:33まで」 という事ですよね。で、AND条件だから 2004/12/13/12:44:33~2004/12/14/12:44:33 のタイムスタンプのものがヒットすると思ったのですが勘違いしてますでしょうか? お手数お掛けして誠に申し訳有りません。m(_ _)m