Consulte a opção -e
some commands \
| grep -E -e 'search1|search2|search3|search4|search5' \
-e 'search6|search7|search8|search9|search10' \
-e ...\
-e ...
Estou usando uma pesquisa grep regex em um script bash, que contém muitos termos de pesquisa.
some commands \
| grep -E 'search1|search2|search3|search4|search5|search6|search7|search8|search9|search10'
é possível quebrar este comando para torná-lo mais legível?
então ficaria assim:
some commands \
| grep -E 'search1|search2|search3|search4|search5|\
search6|search7|search8|search9|search10'
Se um padrão é dividido em linhas, o grep trata cada linha como um padrão separado e independente. Assim, uma solução é:
command | grep -E 'search1|search2|search3|search4|search5
search6|search7|search8|search9|search10'
Não há |
no final da primeira linha, senão ela será interpretada como ou emptyspace e grep pensa que o espaço vazio corresponde a tudo. Também não coloque um espaço no início da linha de continuação, senão o espaço está incluído no padrão.
Tags command-line grep