• ベストアンサー

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

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

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4848/10262)
回答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

  • 作成日時が30分以上前のファイルを消したい(Bシェル)

     Solaris5.8で、Bシェルを使用して、作成日時が30分以上前のファイルを消したいのです。  最初findコマンドを使おうと思ったのですが、-mminオプションがないようなので出来ないようです…。  他に方法をご存知の方、どうかご教示下さい。

  • MsDosでファイル名とファイル内の文字列の検索

    リナックスコマンドでいうところの find -name xxxx -exec grep $test {} \;の処理を コマンドプロンプトにて、利用したいと考えています。 dir xxxx /s /b | find "$test" こういった記述で出来るのではないかと考えたのですが。 findが"ファイル名"を検索するためファイルの中身を検索してくれません。 何かいい方法は御座いませんか? また、dirで取得したパスを配列に入れて、foreachでファイルの中身を検索し続けるということは可能でしょうか? よろしくお願いいたします。

  • windows7のコマンドでファイルを検索したい

    windows7のコマンドでファイルを検索したいのですが、 調べてみると下記のようなコマンドで調べれるとの事でした。 dir /s /b *** しかしこれではカレントディレクトリからしか調べる事ができず不十分です。 全てのドライブからこのファイルを検索したいというコマンドを探しております。 unixでいえば find / -name *** のようなものです。 windows7のコマンドプロンプトではこのような事はできないのでしょうか。

  • 作成日時 更新日時 アクセス日時について

    ファイルを右クリック→プロパティの全般のタブで表示される 作成日時 更新日時 アクセス日時 の意味がよくわかりません。 作成日時とアクセス日時が同じで更新日時のみが古い日付だったり、 作成日付のみが古かったりしています。 このような日付はどのような作業をすると表示が変わるのでしょうか? 教えてください。

  • バッチファイル検索について

    コマンド使用して、特定のファイルを検索してその保存されているディレクトリに移動することは可能でしょうか。 複数人の方があるwebから【aaa.msi】をダウンロードしたとします。 保存先は任意。 1.任意で保存した保存先を検索。 (Find?) 2.その保存先のディレクトリへ移動。 (Cd ~) 3.msiの実行 (Msiexec~)

  • ファイル作成日時の取得

    JAVA初心者です。 ファイルの作成日時の取得方法が分からないので教えてください。 標準APIにはないようなので、外部コマンドを呼ばなくてはいけない事は分かりましたが、それ以上の事が分かりません。 ちなみにプログラム環境はWindowsXPです。 (dirコマンドでは、更新日時しか取れないです)

    • ベストアンサー
    • Java
  • findコマンド

    findコマンドを用いて”昨日以降に変更・更新のあったファイル”を検索するにはどうしたらよいでしょうか? ご教授ねがいます。 また、-ctime、-atimeを用いたときの日付の±はどういう意味になるのでしょうか? 上記質問とあわせて教えていただければ幸いです。

  • バッチ等で、ファイルの作成日時を変えたいです

    初めての質問です。よろしくお願いします。 バッチファイルなどを使って、フォルダの中にある全部のファイルの 作成日時を、そのファイルの更新日におき変えたいと思っています。 (エクスプローラーのタブで確認できる"作成日時"の事です) 今ファイルの作成日時が、ファイルのコピーによって更新日時より 新しくなってしまいました。検索するソフトが作成日を参照するため どうしても不具合がでてしまいます。 せめて作成日を、同じファイルの更新日と同じものにすれば、 作成日時に近いため何とか運用できるかもしれません。 エクセルはもっていますので、VBAなどでも、もし わかればおねがいします。m(_ _)m

  • コマンドプロンプトで5日以上前に更新されたファイルを検索したいです。

    コマンドプロンプトで5日以上前に更新されたファイルを検索したいです。 unixでいうfindコマンド(-mtimeオプション)のようなコマンドはありますでしょうか? エクスプローラーで検索時更新日時を指定できますので、コマンドプロンプトでもできるのでは?と思ったのですが、自分では見つけられず…。 宜しくお願いします。

  • ファイル検索の条件について

    Linux+C言語で開発しています。 あるディレクトリ内にファイル名が日付のファイル(YYYYMMDDhhmmss.jpg)があり、それをプログラム中から消去するプログラムを考えています。 消したいファイルは前日以前分全てです。 system()でlsなどを行って、ファイルリスト作成(1)後、rmコマンドで順次消去(2)することを考えたのですが、 (1)で行うファイルリストの作成条件が思いつきません。  例えば、ls 20051110*.jpgとして行うと、11月10日分は検索にヒットしますが、それ以前の古い分はヒットしないですよね。かといってls 200511*.jpgとしてしまうと今日(11日)の分もヒットしてしまうし。。。 どうすればいいでしょうか??