나는 그랬다:grep -r -H -L txt ~
그리고grep -r -l -L txt ~
모든 파일이 나열됩니까? 정말 긴 출력을 얻고 있기 때문입니다.
답변1
두 명령은 정확히 동일합니다. 둘 다 홈 디렉터리와 'txt' 패턴을 포함하지 않는 파일 목록을 통해 반복됩니다.
그들이 동일한 출력을 가지고 있음을 증명하기 위해 할 수 있는 일
diff <(grep -r -H -L txt ~) <(grep -r -l -L txt ~)
좀 분해해서...
grep -r -H -L
와 같다
grep -r -L
-H
grep
(인쇄 파일 이름)은 두 개 이상의 파일과 관련된 모든 호출에 대해 암시됩니다 . 이는 -L
지정된 패턴과 일치하지 않는 모든 파일을 나열하기 때문에 수행되는 작업입니다.
다음...
grep -r -l -L
와 같다
grep -r -L
-l
이는 단순히 및 옵션이 충돌한다는 사실 때문이며 -L
이러한 경우 나타나는 마지막 플래그가 이전 충돌 플래그를 재정의합니다. (덕분에@don_crissti이 점을 지적해주셔서.)
따라서 실제로는 grep -r -L
및 가 있습니다 grep -r -L
.