grep -rhi 파일에 여러 문자열이 있음

grep -rhi 파일에 여러 문자열이 있음

알았어 내가 할 수 있다는 걸 알아

grep -rhI "string1" .

하지만 각 문자열이 다음과 같은 새 줄에 있도록 .txt 파일에서 문자열을 가져올 수 있습니까?

string1
string2
string3

처리할 문자열이 많기 때문에

grep rhI "string1|string2|string3"

고통스러울 거에요...

답변1

모든 문자열을 다음과 같이 파일에 넣으십시오.

$ cat strings
string1
string2
string3

그리고 다음을 실행합니다:

$ grep -rhIoFf strings 

편집하다

정확히 필요한 출력이 아닌 경우 string1(-o의 효과) 계속 읽으세요.


파일 문자열의 문자열 목록(공백이나 개행 문자가 없는 경우)을 다음으로 구분된 단일 문자열로 변환합니다 |.

filter=$(printf "%s|" $(cat strings))

그런 다음 해당 문자열을 grep의 필터로 사용합니다.

grep -rhIE "${filter%?}"

관련 정보