回答:
これにより、5日以上経過したすべてのファイルが削除さ-name '*log'
れます。より正確に設定するために、そこにa を入れてmaxdepth
、findコマンドでもaを指定することもできます。
find /some/dir -type f -mtime +5 -delete
/ some/dir/
バージョンをやったので。:(
with zsh
および(.m+n)
glob修飾子:.
通常のファイルのみm+n
を選択し、n日以上前に変更されたファイルを選択します。
たとえば、9日以上前に変更された現在のディレクトリ内のファイルをリストします。
print -rl -- *(.m+9)
D
ドットファイルを含めるために追加します。
print -rl -- *(D.m+9)
または、再帰したい場合(および、例えばで終わるファイルのみをリストする.log
):
setopt extendedglob
print -rl -- **/*.log(.m+9)
結果に満足している場合は、print -rl
と置き換えrm
ます。ただし、zargs
多くのファイルがある場合は使用する必要があります(引数リストが長すぎるのを避けるため)。
autoload zargs
zargs ./**/*(.m+9) -- rm
-ls
代わりに、予行演習を行います-delete
。はい、ここでの経験から言えば。