1年以上前のLinuxでファイルを削除する方法 [重複]


9

可能性のある重複:
Linuxで特定の日付より後のファイルを削除する方法

現在のディレクトリと1年以上前のサブディレクトリにあるすべてのファイルを削除するにはどうすればよいですか?


1
してくださいman find。ブーム。

1
クローザーに注意してください:他の質問は実際には紛らわしく異なり、その答えは転置するのが完全に簡単ではありません。
Gilles「SO-邪悪になるのをやめる」

回答:


15
find /the/dir/to/start/in -type f -mtime +365 -ls -exec rm -f -- {} \;

2
find /path/to/files -type f -mtime +365 -delete簡単になります。
Chris S

-deleteは私のaix findにないので、私はそれを使うことに慣れていません。私はそれが他の検索バイナリに実装されてうれしいです。
bot403 2010

find … -exec rm -f {} +少し速くなります(そしてそれは古代のシステムを除いて移植可能です)。
Gilles「SO-邪悪なことをやめよ」

1
また、--最初のファイル名がaで始まる場合に使用-することをお勧めします(ただし、渡されたディレクトリがでfind始まっていない場合は、発生しないことを保証できます-)。
Gilles「SO-邪悪なことをやめよ」

何を削除しようとしているのかわからないので、これは非常に危険です。なぜ世界で-fを使用して強制的に削除するのですか?いくつかのファイルは何らかの理由で保護されています。検索結果をファイルに保存し、それらを調べて、ファイルの内容に対してrmを実行する方がはるかに安全です。
Petr 2016

2

多くのファイルを削除する場合、これは通常「-exec」や「xargs」へのパイプよりもはるかに高速です。

find . -type f -mtime +365 | perl -lne unlink
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.