2

コメント解除された文字列を含むディレクトリ内のすべてのファイルを返す必要がありますconsole.log//したがって、改行と文字列の間に文字列がない行を検索する必要があると思いconsole.logます。

このコマンドは、コメント付きとコメントなしの両方の console.log を返します。console.log がコメントされているインスタンスを除外したい。

grep -H -r  "^.*[^//].*console\.log" /var/www/vhosts/mysite.com

必要なコマンドは、次の行と一致します。

var num = 0;  console.log(num);
alert('some text'); console.log('anything');
  console.log();

しかし、これらの行と一致しません:

var num = 0; // console.log(num);
//alert('some text'); console.log('anything');
  // console.log();
4

4 に答える 4

5

-Lスイッチ を使用

grep -rL '//.*console\.log' directory

アップデート:

grep -rlP '^(?!.*//.*console\.log)(?=.*console\.log)' directory
于 2012-10-23T19:03:22.087 に答える
1

Ωmega の回答の拡張: 複数行のコメント ( /* console.log(); */) を見つけるには、さらに次を使用します。

^(?!.*//.*console\.log)^(?!.*/\*.*console\.log)(?=.*console\.log)
于 2013-06-17T12:45:57.827 に答える
0

-vのスイッチを使用して、反転マッチングを使用できますgrep

grep -H -r "console\.log" /var/www/vhosts/mysite.com | grep -v "//"
于 2012-10-23T18:49:39.483 に答える
0

コメント解除された console.log を含むすべてのファイルを一覧表示するソリューション:

grep -rlL "\/\/.*console\.log" /var/www/vhosts/mysite.com
于 2012-10-23T18:47:55.950 に答える