Linux 当模式文件也有一些空行时grep-f

Linux 当模式文件也有一些空行时grep-f,linux,bash,Linux,Bash,grep命令是否有任何选项可以抑制模式文件中空行的影响?我更喜欢这个选项,而不是总是检查和过滤新生的模式文件 下面是一个示例(在pattern_文件中有一个空行): 这实际上抓住了除换行以外的所有行。您可以这样将结果通过管道传输到您的grep:grep-v'^$'| otherGrep关于-f选项: 空模式可以由中的空行指定 因此,这是一项功能,您应该,例如,使用sed: sed '/^$/d' | grep -f ... 要忽略阵列文件中的空行,请执行以下操作: grep -f <(g

grep命令是否有任何选项可以抑制模式文件中空行的影响?我更喜欢这个选项,而不是总是检查和过滤新生的模式文件

下面是一个示例(在
pattern_文件中有一个空行):


这实际上抓住了除换行以外的所有行。您可以这样将结果通过管道传输到您的grep:
grep-v'^$'| otherGrep
关于
-f
选项:

空模式可以由中的空行指定

因此,这是一项功能,您应该,例如,使用
sed

sed '/^$/d' | grep -f ...

要忽略阵列文件中的空行,请执行以下操作:

grep -f <(grep . pattern_file) file

grep-f刚刚用
grep-v
:)赢了我5秒钟好的,我添加了
sed
解决方案。对不起,@John_West。但这是最简单的方法。您可以不使用空行对文本进行grep,并将其转发到您自己的grep。如果不使用临时文件,则无法在另一个grep命令中的-f选项之后放置过滤模式文件。@LászlóSzilágyi what-f?我甚至都没有建议。我建议你使用-v选项,就像我在回答中发布/提到的那样。grep-v'^$'
与grep有什么不同吗?
?试试grep的选项
-F
。是的,可以,但我想知道grep中是否有选项。@LászlóSzilágyi,“选项”在grep中,决定匹配哪些行的是正则表达式本身。强制至少识别一个字符的正则表达式正是您所要求的。
sed '/^$/d' | grep -f ...
grep -f <(grep . pattern_file) file