日付範囲を使用して1GB以上のファイルをフィルタリングする方法

日付範囲を使用して1GB以上のファイルをフィルタリングする方法

誰もがサイズが1 GBを超え、日付範囲が5月1日から5月31日までのファイルを検索するスクリプトまたはコマンドを提案できますか?

スクリプトやコマンドを作成するのに役立ちます。 5月1日から5月31日までの期間中、サイズが1GBを超えるすべてのファイルを移動したいと思います。

ありがとう、ビスワジット

答え1

これはあなたに効果がありますか?

touch --date "2017-05-01" /tmp/start
touch --date "2017-05-31" /tmp/end
find /path/ -type f -newer /tmp/start -not -newer /tmp/end -size +1G -exec mv "{}" /path/to/new/dir/ \;

これをbashスクリプトscriptname.sh /path/to/search/dir /path/to/destination/dirとして使用できます(例:)。

#!/usr/bin/env bash

touch --date "2017-05-01" /tmp/start
touch --date "2017-05-31" /tmp/end
find "$1" -type f -newer /tmp/start -not -newer /tmp/end -size +1G -exec mv "{}" "$2" \;
rm /tmp/start /tmp/end

関連情報