0
$ grep "console.log" * -R
account/db.js:        console.log(err);
account/db.js:        console.log(info);
account/db.js:                console.log(err);
account/db.js:                    console.log(err2);
account/controller.js:    console.log(covers);
account/controller.js:    console.log(req.api_user);
account/controller.js:    console.log(code);
account/controller.js:        console.log(user);
account/helper.js:                console.log(err);
messages/db.js:        console.log("Error " + err);
messages/helper.js:                console.log('No email notify.');
messages/helper.js:                console.log(msg_body);
messages/helper.js:                        console.log(message.sid);
messages/helper.js:                        console.log(message.dateCreated);
messages/helper.js:                        console.log(error);
products/controller.js:            console.log(product);
products/controller.js:                console.log(product);
products/helper.js:        console.log(data)
products/helper.js:    console.log('removing index....');
profile/db.js:                console.log(err);
profile/db.js:                console.log(info);
profile/db.js:                console.log(err);
profile/controller.js:                            console.log("sending phone confirmation text...");
profile/helper.js:            console.log(message.sid);
profile/helper.js:            console.log(message.dateCreated);
profile/helper.js:            console.log(error);
receiver/controller.js:    console.log(from);
receiver/controller.js:    console.log(body);
receiver/controller.js:        console.log(from_email);
receiver/controller.js:        console.log(to_id_gen);
receiver/controller.js:        console.log(finalbody);
receiver/controller.js:                            console.log(result);
reviews/db.js:        console.log(err);
reviews/db.js:        console.log(results);
reviews/controller.js:            console.log(review);
reviews/controller.js:    console.log(review_id);
search/controller.js:        console.log(JSON.stringify(data.hits.hits, null, 4));

ご覧のとおり、コードを書いている間、どこでも console.log を実行していました。

ここで、これらの行をすべて削除したいと思います。すべてのファイルを手動で削除する必要はありません。代わりに、コマンドを介して実行したいと考えています。

と同様にgrep "console.log" * -R、これらの行を再帰的に削除するにはどうすればよいですか? (現在のディレクトリからツリーをずっと下まですべてのファイルを調べます)

4

3 に答える 3

1

そのようなことを試しfindてください。試してみてください。ただし、バックアップ コピーを保持する代わりfind . -type f -exec sed -i '/console\.log/d' {} \;に使用することに興味があるかもしれません-i.bak-i

于 2013-04-25T04:58:38.693 に答える
0

Give this a shot.

sed -i.bak '/console.log/d' */*.js

The -i param edits files in place. The original file will have .bak appended to its name, so you can restore it if something goes wrong, or you change your mind.

This is not a properly recursive solution; you may need to modify the file name wildcard, or drive the command from a find . -exec ... wrapper to make it recursive.

于 2013-04-25T04:27:57.537 に答える
0

In Perl:

perl -i -n -e'print unless /console\.log/' $(find . -name '*.js')
于 2013-04-25T04:28:04.523 に答える