• ベストアンサー

作成日時でのファイル検索

この日付に作成されたファイルの検索を行いたいのですが、どのようなコマンドを使用すれば良いのでしょうか? findコマンドで可能なのでしょうか? 調べても分からなかったので、お教えいただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.2

unix/linuxではファイルの作成日時は記録されないので、そもそも不可能です。 最終更新日を find の -mtime で調べる位しか出来ないですね。通常だと、find コマンド実行の瞬間から遡って24時間ごとが日の区切りになります。つまり -mtime 1 だとこの瞬間から24時間以内に更新されたファイルがヒット。 -daystart オプションも追加すれば、現在日(つまり時刻は考慮しないで)からの相対日で検索できます。 -daystart -mtime 1 で昨日の0時から23:59までに更新したファイルがヒット。 相対日を直接求めるコマンドは無いので、 date -d "100 days ago" のようにして数字を変えて試行錯誤するしかないです。

ikazuti
質問者

お礼

作成日時は記録されないのですか、知りませんでした。 最終更新日ですか……難しいですね。編集しまくってますんで。 ご回答、ありがとうございました。

その他の回答 (2)

回答No.3

find には -mtime 以外にも -mmin というオプションがあります(但しGNU版findだけだと思いますが、だいたいのLinuxディストリビューションでは最初からGNU版findが入っていると思います)。 -mtime は何日前に更新されたかを調べるオプションですが、-mmin は何分前に更新されたかを調べるオプションです。(考え方は同じで単位が分になっているだけです) 例) カレントディレクトリ以下にある昨日の午前1時から午後3時までの間に更新された通常ファイルを検索して -ls で詳細を出す。 find . -type f -daystart -mmin -1381 -mmin +540 -ls

ikazuti
質問者

お礼

作成日時は無理なのですね。 ご回答、ありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

この日付とは? 何年何月何日を指定するという意味ですか? 単純に今日とか昨日とかそういうのでいいのでしょうか? -ctimeとか指定すると作成日別の検索はできます。 今日との相対的な日付の違いですが。

ikazuti
質問者

お礼

日付指定は出来ないのですが。ちょっと不便ですね。 ご回答、ありがとうございます。

関連するQ&A

専門家に質問してみよう