파일 내용을 grep하지만 파일 이름을 반환합니다.

파일 내용을 grep하지만 파일 이름을 반환합니다.

다음 작업(LINUX OS)에는 GREP 구문이 필요합니다.

STRING을 포함하지만 일치하는 항목이 포함된 FILENAMES만 나열하는 CURRENT 디렉터리의 모든 파일을 쿼리합니다.

감사해요!

답변1

당신이 사용할 수있는

grep -rl stringToSearch .

또는

 find . -type f -exec grep -l stringToSearch {} \;

grep기타 Unix 명령어 에 대한 자세한 내용은 매뉴얼( man) 을 참조하세요.

그럴 경우에는 man grep이렇게 말해요

-l, --files-with-matches 일반 출력을 억제합니다. 대신 일반적으로 출력이 인쇄되는 각 입력 파일의 이름을 인쇄하십시오.
첫 번째 일치에서 검색이 중지됩니다.

분명히 bash 명령으로 문자열에 특수 문자나 공백이 포함된 경우 순서대로 이스케이프 처리하거나 문자열을 할당량으로 묶어야 합니다.

답변2

"Grep -l"은 파일 이름 목록을 제공합니다.

> echo "hello" > test_file1.list
> echo "hello2.." > test_file2.list
> echo "xyz" > test_file3.list


> grep "hello" test_file*list

test_file1.list:hello
test_file2.list:hello2..


> grep -l "hello" test_file*list
test_file1.list
test_file2.list

관련 정보