作成日に基づいてファイルを別のフォルダに移動する

作成日に基づいてファイルを別のフォルダに移動する

月曜日から金曜日までファイルセットを作成しました。

a -- > 08/20
a1---> 08/21
a2---> 08/21
a3---> 08/21
a4---> 08/22
a5 --> 08/23

08/21ファイルを別のフォルダに移動しました。

どうすればいいですか?

ベストアンサー1

ファイルの変更時間が保存されているとします(ファイルが作成された後は変更されません)。その後、findコマンドとオプションを使用して、データが数日前に最後に変更されたファイルを-mtime検索できます。Xしたがって、48時間前に作成された現在の作業ディレクトリー内のすべてのファイルを検索するには、次のようにします。

find ./ -type f -mtime 2

別のディレクトリに移動

find ./ -type f -mtime 2 -exec mv {} DEST_DIR/ \;

また、現在の日付とファイルを要求した日付の間の日数を見積もることもできます(この場合は22日)。

DAY_CUR="`date +%d`"
DAY_REQ=22
DAY_DIF=$((DAY_CUR - DAY_REQ))
    
find ./ -type f -mtime $DAY_DIF -exec mv {} DEST_DIR/ \;

コードは、2日間で2ヶ月の異なるケースを処理できないため、完璧ではありませんが、進行方法を示しています。

おすすめ記事