[linux]指定日時以降に更新されたファイルを一覧表示&コピー


特定の日時以降に更新されたファイルを一括で取得したかったのでコマンドを調べてみました。

探したい日時の開始時間を更新日に持つファイルを作成してfindコマンドのオプションに指定すれば取得出来ました。

2013/12/24以降に更新されたファイルを探したい場合の例を書いておきます。

  • 最終更新日時を’2013/12/24 00:00:00’としてnewerという名前でファイルを作成する
touch -m -d '2013/12/24 00:00:00' newer
  • findコマンドのnewerオプションにファイルを指定すると’2013/12/24 00:00:00’以降に更新されたファイルが一覧で表示される
find . -type f -newer newer
  • xargsを用いると該当ファイルをコピーできる
mkdir ~/updated_files
find . -type f -newer newer -print0 |xargs -0 cp --parents -t ~/updated_files

参考