- ベストアンサー
作成日時でのファイル検索
この日付に作成されたファイルの検索を行いたいのですが、どのようなコマンドを使用すれば良いのでしょうか? findコマンドで可能なのでしょうか? 調べても分からなかったので、お教えいただければ幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
unix/linuxではファイルの作成日時は記録されないので、そもそも不可能です。 最終更新日を find の -mtime で調べる位しか出来ないですね。通常だと、find コマンド実行の瞬間から遡って24時間ごとが日の区切りになります。つまり -mtime 1 だとこの瞬間から24時間以内に更新されたファイルがヒット。 -daystart オプションも追加すれば、現在日(つまり時刻は考慮しないで)からの相対日で検索できます。 -daystart -mtime 1 で昨日の0時から23:59までに更新したファイルがヒット。 相対日を直接求めるコマンドは無いので、 date -d "100 days ago" のようにして数字を変えて試行錯誤するしかないです。
その他の回答 (2)
- ___noboru___
- ベストアンサー率28% (33/117)
find には -mtime 以外にも -mmin というオプションがあります(但しGNU版findだけだと思いますが、だいたいのLinuxディストリビューションでは最初からGNU版findが入っていると思います)。 -mtime は何日前に更新されたかを調べるオプションですが、-mmin は何分前に更新されたかを調べるオプションです。(考え方は同じで単位が分になっているだけです) 例) カレントディレクトリ以下にある昨日の午前1時から午後3時までの間に更新された通常ファイルを検索して -ls で詳細を出す。 find . -type f -daystart -mmin -1381 -mmin +540 -ls
お礼
作成日時は無理なのですね。 ご回答、ありがとうございました。
- yambejp
- ベストアンサー率51% (3827/7415)
この日付とは? 何年何月何日を指定するという意味ですか? 単純に今日とか昨日とかそういうのでいいのでしょうか? -ctimeとか指定すると作成日別の検索はできます。 今日との相対的な日付の違いですが。
お礼
日付指定は出来ないのですが。ちょっと不便ですね。 ご回答、ありがとうございます。
お礼
作成日時は記録されないのですか、知りませんでした。 最終更新日ですか……難しいですね。編集しまくってますんで。 ご回答、ありがとうございました。