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은 빈 공간이 모든 것과 일치한다고 생각합니다. 또한 연속 줄의 시작 부분에 공백을 넣지 마십시오. 그렇지 않으면 공백이 패턴에 포함됩니다.