cliで日付範囲内のファイルを一覧表示する方法[重複]

cliで日付範囲内のファイルを一覧表示する方法[重複]

CLIの日付範囲内のファイルをリストするのに適した人に教えてください。 2月20日から3月2日の間にこのファイルを別のディレクトリに移動するとします。

ありがとう

答え1

(以前のGNUおよびBSDシステム)findなしで実装する場合:-newerctfindfind

2つのタイムスタンプファイルが作成され、find最も古いファイルよりも最新のファイルと最新のファイルより古いすべてのファイルを見つけるために使用されます。

touch -d 2018-02-20T00:00:00 ts-start
touch -d 2018-03-03T00:00:00 ts-end

find . -type f -newer ts-start ! -newer ts-end ! -name ts-end -exec mv {} /destination ';'

rm -f ts-start ts-end

ts-endファイルが条件を満たすため、ファイル名を除外する必要があります。

答え2

find -newerct "20 Feb 2018" ! -newerct "2 Mar 2018" -exec mv {} /path/to/target/dir

これは、最新バージョンで導入されたGNU検索機能を使用します。

同じことを行う他の方法もたくさんありますfindmanその他の特典については、このページをご覧ください。-newerxy-mtime

関連情報