여러 개의 .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이 검색 패턴을 정규 표현식이 아닌 고정 문자열로 처리하도록 지시합니다. 예제 패턴에는 정규 표현식 특수 문자가 없는 것으로 보이지만 항상 그런 경우라고 가정해서는 안 됩니다.)