라인을 포함하지 *않는* 디렉토리의 고유한 파일 목록을 가져옵니다.

라인을 포함하지 *않는* 디렉토리의 고유한 파일 목록을 가져옵니다.

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

관련 정보