複数の.jsファイルを含むプロジェクトがあるとします。次の行が含まれていないファイルを探したいと思います。
const process = require('suman-browser-polyfills/modules/process');
もし私がするなら
grep -v "suman-browser-polyfills/modules/process" .
次に、一致しないすべてのファイルのすべての行を簡単に記録します。それは私が望むものをまったく提供しません。
誰もがこれを行う良い方法を知っていますか?
答え1
-L
このオプション(またはそれに対応する長いオプション)を使用できます。--files-without-match
~から汎用出力制御部分man grep
:
-L, --files-without-match
Suppress normal output; instead print the name of each input
file from which no output would normally have been printed. The
scanning will stop on the first match.
例えば、
grep -FL "const process = require('suman-browser-polyfills/modules/process');" *.js
(この-F
オプションは、grepに検索パターンを正規表現ではなく固定文字列として扱うように指示します。パターン例には正規表現特殊文字がないように見えますが、常にそのような場合を想定してはいけません。)