grep 정규식 검색 패턴을 깨는 방법

grep 정규식 검색 패턴을 깨는 방법

bash 스크립트에서 grep regex 검색을 사용하고 있는데 검색어가 많이 포함되어 있습니다.

some commands \
 | grep -E 'search1|search2|search3|search4|search5|search6|search7|search8|search9|search10'

이 명령을 더 읽기 쉽게 만들기 위해 중단할 수 있습니까?

따라서 다음과 같습니다.

some commands \
 | grep -E 'search1|search2|search3|search4|search5|\
            search6|search7|search8|search9|search10'

답변1

참조 옵션-e

some commands \
 | grep -E -e 'search1|search2|search3|search4|search5' \
           -e 'search6|search7|search8|search9|search10' \
           -e ...\
           -e ...  

답변2

패턴이 여러 줄로 나누어지면 grep은 각 줄을 별도의 독립적인 패턴으로 처리합니다. 따라서 한 가지 해결책은 다음과 같습니다.

command | grep -E 'search1|search2|search3|search4|search5
search6|search7|search8|search9|search10'

|첫 번째 줄 끝에는 없음이 있습니다. 그렇지 않으면 또는 빈 공간으로 해석되며 grep은 빈 공간이 모든 것과 일치한다고 생각합니다. 또한 연속 줄의 시작 부분에 공백을 넣지 마십시오. 그렇지 않으면 공백이 패턴에 포함됩니다.

관련 정보