3

x-xxx.jpg特定の日付より前に作成されたバッチスクリプトを削除するようにコーディングする方法を見つけようとしています。

これはどのように行われますか?つまり、基本的には20k.jpg、Linuxで実行するバッチスクリプトを作成して、2011年12月12日より前に作成されたすべてのイメージを削除したいとします。

4

5 に答える 5

4

日付に依存する代わりに、「N」日経過したファイルを削除できないのはなぜですか?

たとえば、2 日前に作成された *.jpg ファイルを「印刷」するための「検索」コマンドを次に示します。

find /folder_path/ -iname '*.jpg' -type f -ctime  +1 -print 

注: 検索結果から返されたファイルを削除する場合は、「-print」オプションを「-delete」に置き換えます。

これは、「検索」コマンドの優れたチュートリアルです

于 2012-12-22T09:29:18.127 に答える
1

find . -name "*.jpg" -mtime +1 -ok rm {} \;

于 2012-12-22T17:13:29.530 に答える
1

次のスクリプトは、-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
于 2012-12-22T07:54:19.983 に答える
0

CentOS 4.4では{}、たとえば、一重引用符を使用する必要があります。

# delete the "log/*.log" files that are 7 days ago. 
find log/*.log -mtime +7 -exec rm '{}' \; 
于 2013-02-07T03:31:19.157 に答える
0

たとえば、20 日以上経過した jpg ファイルを削除するには:

find . -mtime +1 -name '*.jpg'
于 2012-12-22T08:17:10.020 に答える