bash脚本函数中多行上的Egrep

bash脚本函数中多行上的Egrep,bash,function,grep,Bash,Function,Grep,我有一个功能,可以根据管道分隔的多个长字符串检查文件。我想把脚本中的每个字符串放在一个新行上,这样它更具可读性。我试着在每一行的末尾添加反斜杠,但它们只是在grep语句中被捕获 my_function () { sudo zcat my_file.gz | egrep -c 'my_long_string_1 | my_long_string_2 | my_long_string_3' } 这确实会输出一个结果,但是,它是不正确的。在多行上使用像这样的egrep: my_function ()

我有一个功能,可以根据管道分隔的多个长字符串检查文件。我想把脚本中的每个字符串放在一个新行上,这样它更具可读性。我试着在每一行的末尾添加反斜杠,但它们只是在grep语句中被捕获

my_function () {
sudo zcat my_file.gz |
egrep -c 'my_long_string_1 |
my_long_string_2 |
my_long_string_3'
}

这确实会输出一个结果,但是,它是不正确的。

在多行上使用像这样的egrep:

my_function () {
   sudo zcat my_file.gz |
   egrep -c "my_long_string_1|\
   my_long_string_2|\
   my_long_string_3"
}
确保
反斜杠
前后没有空格,并且在每个egrep模式之前的新行上没有空格