私は、数TBのファイルがあるディレクトリを持っています。 14日以上経過したファイルをすべて削除したいと思います。bashとdeleteのX日より古いファイルを見つける
私はfind . -mtime +13 -delete
を使用すると考えました。コマンドが正常に動作するように、私はfind . -mtime +13 -exec /bin/ls -lh '{}' \; | grep '<today>'
を実行しました。後者は何も返しません。今日作成/修正されたファイルはfind
で見つからないはずです。-mtime +13
を使用してください。しかし、驚いたことに、find
は、今日変更/作成されたすべてのファイルのリストを吐き出すだけです!
あなたや他の誰かがファイルを変更していませんか? –
findについては、 '-daystart'オプションを参照してください。あなたの検索は正確に24 * 13時間後にカウントされ、24 * 13 - 1分後のファイルを残し、別の検索でそれらのファイルを見つけることができます。 –
ちょっと分かりました!理由は 'ls'です。 'find'はmtime +13と' ls'のディレクトリを見つけて、ファイルが何mtime(facepalm! – user3040975