繁体   English   中英

grep手册中-F选项的含义是什么

[英]What is the meaning of the -F option in grep manual

-Fgrep一个选项,来自以下手册:

将模式解释为固定字符串列表,由换行符分隔,其中任何一个都应匹配

我的问题是

  1. 如何分隔多个固定字符串,换行符\\n\\什么?
  2. 如果我要查找以字符ah开头的行,似乎grep -F a\\nh file无效。

提前致谢 !

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

默认情况下,该模式是基本正则表达式(BRE)模式,但使用-F它将被解释为不带任何元字符的文字字符串。

您也可以使用-E来启用扩展正则表达式(ERE)。

% grep -F '..' <<< $'hello\nworld\n...'
...
% grep '..' <<< $'hello\nworld\n...'
hello
world
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM