[〜#〜] n [〜#〜]日で変更されていないディレクトリ内のすべてのファイルを削除するコマンドはありますか?古いログをクリーンアップする必要があります。
これにより、5日以上経過したすべてのファイルが削除されます。-name '*log'
より正確にするには、そこにも_を指定し、findコマンドでもmaxdepth
を指定することをお勧めします。
find /some/dir -type f -mtime +5 -delete
zsh
および(.m+n)
glob qualifiers の場合:.
は通常のファイルのみを選択し、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