find コマンドで日時を指定して検出する

メモです。
(使っている Linux は Ubuntu 14.04.3 LTS です)

find コマンドで -mtime オプションを使うと ファイルの更新日を条件にして「〜日前」のような検出ができます。

$ find ./ -mtime -3

具体的に日時を指定して検出するには 次のように -newermt オプションを使用します。 (-newermt の m は Modify の m で、a にすると Access、c だと Change になります)

$ find ./ -newermt "2018/10/30 12:00"

(日付の書式は色々指定できます)

これで指定した時刻よりもタイムスタンプが大きい(指定した時刻は含まれない)ファイルを検出することができます。

-newerXY reference

    Compares the timestamp of the current file with reference.  The reference argument is normally the name
    of a file (and one of its timestamps is used for the comparison) but it may also be a string describing
    an absolute time.  X and Y are placeholders for other letters, and  these  letters  select  which  time
    belonging to how reference is used for the comparison.

    a   The access time of the file reference
    B   The birth time of the file reference
    c   The inode status change time of reference
    m   The modification time of the file reference
    t   reference is interpreted directly as a time

    Some  combinations  are  invalid;  for example, it is invalid for X to be t.  Some combinations are not
    implemented on all systems; for example B is not supported on all systems.  If  an  invalid  or  unsup‐
    ported  combination  of XY is specified, a fatal error results.  Time specifications are interpreted as
    for the argument to the -d option of GNU date.  If you try to use the birth time of a  reference  file,
    and  the  birth  time cannot be determined, a fatal error message results.  If you specify a test which
    refers to the birth time of files being examined, this test will fail for any  files  where  the  birth
    time is unknown.

Google サイト内検索

Amazonアソシエイト