grep은 각 파일을 한 번씩 나열합니다.

grep은 각 파일을 한 번씩 나열합니다.

파일에서 일부 텍스트를 찾고 있는데 세 개가 많은 파일이고 검색된 텍스트가 한 파일에 여러 번 나타납니다. 모든 파일이 한 번만 나열되어 있고 검색된 텍스트가 포함된 파일 목록을 어떻게 받을 수 있습니까?

답변1

grep -l xyz file*

여기서 xyz는 검색 패턴이고, file*은 검색할 파일 목록입니다.

답변2

grep -l LIST PATTERN가는 길입니다. 또는 xargs동일한 작업을 수행하는 데 사용할 수도 있습니다 .

xargs grep "My Search Pattern"  < input.txt 

xargsgrep이는 파이프에서 전달된 여러 파일 이름에 사용하려는 경우 특히 유용합니다 . 예를 들면 다음과 같습니다.

find ~/Documents ~/bin -print0 | xargs -0 grep 'Search Term'

관련 정보