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は各行を別々の独立したパターンとして扱います。したがって、1つの解決策は次のとおりです。

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

|最初の行の終わりにはなしがあります。それ以外の場合、または空のスペースとして解釈され、grepは空のスペースがすべてに一致すると考えます。また、連続行の先頭にスペースを入れないでください。それ以外の場合は、スペースがパターンに含まれます。

関連情報