x-xxx.jpg
特定の日付より前に作成されたバッチスクリプトを削除するようにコーディングする方法を見つけようとしています。
これはどのように行われますか?つまり、基本的には20k.jpg
、Linuxで実行するバッチスクリプトを作成して、2011年12月12日より前に作成されたすべてのイメージを削除したいとします。
x-xxx.jpg
特定の日付より前に作成されたバッチスクリプトを削除するようにコーディングする方法を見つけようとしています。
これはどのように行われますか?つまり、基本的には20k.jpg
、Linuxで実行するバッチスクリプトを作成して、2011年12月12日より前に作成されたすべてのイメージを削除したいとします。
日付に依存する代わりに、「N」日経過したファイルを削除できないのはなぜですか?
たとえば、2 日前に作成された *.jpg ファイルを「印刷」するための「検索」コマンドを次に示します。
find /folder_path/ -iname '*.jpg' -type f -ctime +1 -print
注: 検索結果から返されたファイルを削除する場合は、「-print」オプションを「-delete」に置き換えます。
これは、「検索」コマンドの優れたチュートリアルです
find . -name "*.jpg" -mtime +1 -ok rm {} \;
次のスクリプトは、-ot
テスト( "older to")を使用します。
#/bin/bash
touch -d "$1" /tmp/D
shift
for file in "$@" ; do
[[ $file -ot /tmp/D ]] && rm "$file"
done
rm /tmp/D
名前を付けて保存しdelete-older.sh
、実行可能にし、次のように実行chmod u+x delete-older.sh
します
path/to/script/delete-older.sh 2011/12/12 *.jpg
CentOS 4.4では{}
、たとえば、一重引用符を使用する必要があります。
# delete the "log/*.log" files that are 7 days ago.
find log/*.log -mtime +7 -exec rm '{}' \;
たとえば、20 日以上経過した jpg ファイルを削除するには:
find . -mtime +1 -name '*.jpg'