SSHから接続して指定したフォルダの中に含まれる

特定の文字列が入ったファイルだけ一括で削除するコマンドを教えてください。

boxというフォルダの中に約12万のファイルがあります。
このフォルダの容量は約460MBです。
この12万のファイルのうち約10万のファイルの本文に 0,0, という文字列が含まれています。
これら10万の不要なファイルを削除するために
本文に0,0,と含まれるファイルを一括削除するように命令を出したいのですが
特定の文字列が含まれたファイルのみ削除するコマンドはありますでしょうか?

よろしくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/12/26 21:48:31
  • 終了:2009/01/02 21:50:02

回答(2件)

id:zzz_1980 No.1

zzz_1980回答回数492ベストアンサー獲得回数642008/12/26 22:21:49

ポイント35pt

10万本もファイルがあると、ファイル名を引数で指定してもパンクしてしまうので、

とりあえず、

% find . -exec grep -l "0,0," {} +

% ls|xargs grep -l "0,0,"

で"0,0,"が本文中に含まれたファイルを全部ピックアップしますから、

これに xargs をつないで、

% find . -exec grep -l "0,0," {} +|xargs rm -fr
% ls|xargs grep -l "0,0,"|xargs rm -fr

自分だったら12万本のファイルのなかの必要な2万本をどうやってピックアップするか

考えますけどねぇ。いきなり消すのは怖くてできません。

urlはダミーです。

http://q.hatena.ne.jp/1230295709

id:happy778

回答ありがとうございました。

とても参考になりました。

もうひとつ聞きたいことがあるのですが、

指定した日付以前に作成された0,0,が含まれるファイルを一括削除するコマンドはありますでしょうか?

2008年12月25日以前に作成された0,0,が含まれるファイルを一括削除。

ご存知でしたらご教授頂けると幸いです。

2008/12/28 22:45:13
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402008/12/27 00:04:30

ポイント35pt
$ grep -r 0,0 -l box | xargs rm -f

Manpage of GREP

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

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

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

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