特定の日付より前に作成されたすべてのファイルを削除する

特定の日付より前に作成されたすべてのファイルを削除する

私は多くのファイル(例えば、毎年の毎日のログ)を含むディレクトリを持っています。 2011年22月22日より前に作成されたすべてのファイルを削除したいと思います。どうすればいいですか?findexecを使用する必要がありますか-rm? kshを使用しています。

ベストアンサー1

を使用することは、findまだファイルを削除するための好ましい方法です。バラよりhttp://mywiki.wooledge.org/UsingFindもっと学ぶ。

1つの方法は、タイムスタンプを含むファイルを作成することです。例えば

touch -t 201311220000 /tmp/timestamp

find次に、タイムスタンプに一致するGNUファイルを削除します(現在のディレクトリにあると仮定)。例:

find . -type f ! -newer /tmp/timestamp -delete  

または非GNUルックアップ

find . -type f ! -newer /tmp/timestamp -exec rm {} \;

おすすめ記事