[Linux]findコマンドで更新日指定、更新されたファイル一覧を取得する
-
カテゴリ:
- サーバ
-
タグ:
- #Linux
Linuxでデプロイされた対象ソースを見つけたい時など、更新されたファイルを一覧表示するのに便利なのがfindコマンド+newermtオプションです。
更新日を指定して対象ファイルを洗い出すことが可能です。
更新日を指定してファイル一覧を取得
検索対象のディレクトリ構成が以下の通りになっているとします。
~/
9月 28 19:22 2020 ├ sample1-1.log
9月 29 18:00 2020 ├ sample1-2.log
9月 30 20:30 2020 ├ sample1-3.log
9月 28 19:05 2020 ├ sample2/
9月 28 19:06 2020 ├ sample2-1.log
9月 29 18:15 2020 └ sample2-2.log
9月 29 18:15 2020 └ sample3/
9月 29 18:17 2020 ├ sample2-1.log
9月 30 20:36 2020 └ sample2-2.log
2020年9月29日(2020/09/29 00:00:00 ~ 2020/09/29 23:59:59)に更新されたものを抽出したい場合は以下のコマンドを実行することで可能です。
find ./ -newermt '2020-09-29' ! -newermt '2020-09-29 23:59:59.9999'
[結果]
./sample1-2.log
./sample2/sample2-2.log
./sample3
./sample3/sample2-1.log
さらに、ディレクトリを除外しファイルのみ一覧表示したい場合は「-type f」オプションを付けます。
find ./ -type f -newermt '2020-09-29' ! -newermt '2020-09-29 23:59:59.9999'
[結果]
./sample1-2.log
./sample2/sample2-2.log
./sample3/sample2-1.log
補足:
findで相対パスだとうまくいかないことがあるので、検索対象のディレクトリに移動してからfindするのが確実です。
以上です。
投稿日:2020-09-30
更新日:2020-11-04