Linuxのコマンドラインで特定の日付だけ(もしくは日付以前)のファイルを削除する方法はありますか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/04/09 11:52:31
  • 終了:--

回答(4件)

id:ys_y No.1

ys_y回答回数2ベストアンサー獲得回数02004/04/09 13:26:09

ポイント10pt

http://www.sixnine.net/roadside/find.html#2.3.

"Trumps by the roadside" - ちょっとだけカッコよく find(1) を使う

find . -ctime +7 -exec rm {} ¥;

でどうでしょうか。

-ctime +7 で7日前以上のファイルを検索し、-exec にそのファイルを rm コマンドに渡してます。少し性能は悪いと思いますが。

id:gaba No.2

gaba回答回数90ベストアンサー獲得回数12004/04/09 13:26:37

ポイント10pt

$ find ./ -ctime +2 | xargs rm

上記は二日前以前に更新されたファイルを全て削除します。

詳しくは find のオプションを確認して下さい。

一度

$ find ./ -ctime +2

とだけ実行して、削除されるファイルを確認した方が良いでしょう。

id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272004/04/09 12:34:35

ポイント25pt

Shell Script で ls を -lRaで 再帰ループさせながら awkで日付部分の一致を確認して( grep で抽出するとフォルダの特定をするScriptを組むのが難しい)rm コマンドで削除するのがいいと思います

id:kiichigo No.4

kiichigo回答回数167ベストアンサー獲得回数02004/04/09 13:15:53

ポイント25pt

2週間より前のバックアップファイルを問答無用で削除します

-exec パラメータにてコマンドを実行することが出来ます。

-mtime パラメータを「+14」に指定した場合、14日より前の全てのファイルが対象となり、「-14」と指定した場合、現在から14日までの間のファイルが対象となります。

find . -name ”*.back” -mtime +14 -exec rm -f {} ¥;

id:fukut77

ありがとうございます

早速やってみます。

2004/04/09 14:43:52

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • 2008-01-07 15:20:45
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません