Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex grep手册中-F选项的含义是什么_Regex_Linux_Grep_Command Line Interface - Fatal编程技术网

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

Regex grep手册中-F选项的含义是什么,regex,linux,grep,command-line-interface,Regex,Linux,Grep,Command Line Interface,-F是下面手册中的grep选项: 将模式解释为固定字符串的列表,由 换行符,其中任何一个都要匹配 我的问题是 如何分隔多个固定字符串,换行符是什么,\n或\ 如果要查找以字符a或h开头的行,则grep-F a\nh文件似乎无效 提前谢谢 默认情况下,该模式是基本正则表达式(BRE)模式,但使用-F时,它将被解释为不带元字符的文本字符串 您还可以使用-E,它将启用扩展正则表达式(ERE) %grep-F'..'默认情况下,该模式是基本正则表达式(BRE)模式,但使用-F时,它将被解释为不带元字符的

-F
是下面手册中的
grep
选项:

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

我的问题是

  • 如何分隔多个固定字符串,换行符是什么,
    \n
    \
  • 如果要查找以字符
    a
    h
    开头的行,则
    grep-F a\nh文件
    似乎无效

  • 提前谢谢

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

    您还可以使用
    -E
    ,它将启用扩展正则表达式(ERE)


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

    您还可以使用
    -E
    ,它将启用扩展正则表达式(ERE)


    %grep-F'..“在
    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
    
    $echo$'foo\nf.o\nba.r\nbaar\n'
    福
    f、 o
    文学学士
    巴尔
    
    $grep-F$'F.o\nba.r'在
    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
    
    $echo$'foo\nf.o\nba.r\nbaar\n'
    福
    f、 o
    文学学士
    巴尔
    
    $grep-F$'F.o\nba.r'
    $'…'
    将以与C字符串相同的方式进行解释,但它是bash扩展。虽然bash不支持在字符串中解释
    \n
    ,但dash支持。我认为安全的方法是使用
    tmp\u var=$(printf“hello\nworld”)
    @heemayl确切地说是
    @Tracy。。这里称为string(herdoc的子类型)check
    manbash
    $”…“
    的解释方式与C字符串相同,但它是bash扩展。虽然bash不支持在字符串中解释
    \n
    ,但dash支持。我认为安全的方法是使用
    tmp\u var=$(printf“hello\nworld”)
    @heemayl确切地说是
    @Tracy。。这里称为string(herdoc的子类型)check
    manbash