
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は各行を別々の独立したパターンとして扱います。したがって、1つの解決策は次のとおりです。
command | grep -E 'search1|search2|search3|search4|search5
search6|search7|search8|search9|search10'
|
最初の行の終わりにはなしがあります。それ以外の場合、または空のスペースとして解釈され、grepは空のスペースがすべてに一致すると考えます。また、連続行の先頭にスペースを入れないでください。それ以外の場合は、スペースがパターンに含まれます。