-F
是grep
的一个选项,来自下面的手册:
将模式解释为固定字符串列表,以。分隔 换行符,其中任何一个都要匹配
我的问题是
\n
还是\
?grep -F a\nh file
或a
开头的行,则h
似乎无效。提前致谢!
答案 0 :(得分:2)
在grep
中,-F
将导致模式字面匹配,即对模式没有进行正则表达式解释。
可以通过\n
输入多个模式,即换行符分离。
默认情况下,并非所有shell都会将\n
转换为换行符,在这种情况下您可以使用$'a\nh'
。
示例:强>
$ echo $'foo\nf.o\nba.r\nbaar\n'
foo
f.o
ba.r
baar
$ grep -F $'f.o\nba.r' <<<$'foo\nf.o\nba.r\nbaar\n'
f.o
ba.r
答案 1 :(得分:0)
默认情况下,模式是基本正则表达式(BRE)模式,但对于-F
,它将被解释为没有元字符的文字字符串。
您还可以使用-E
启用扩展正则表达式(ERE)。
% grep -F '..' <<< $'hello\nworld\n...'
...
% grep '..' <<< $'hello\nworld\n...'
hello
world
...