如何使用grep匹配空格或换行符

Ric*_*ard 16 regex shell grep

我想用一个单词grep一个文件,说"AAA",它以空格或换行结束.我知道如何seperately写这篇文章,如下,但其在结合他们的问题(在这个意义上,它同时输出VVV AAAAAA VVV).

$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA$" 
>VVV AAA
$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA[[:space:]]" 
>AAA VVV 
Run Code Online (Sandbox Code Playgroud)

我尝试过使用[],但没有成功..

Ωme*_*ega 18

如果您AAA在字符串中的任何位置或行尾处查找单词后跟空格,请使用

grep -P "AAA( |$)"
Run Code Online (Sandbox Code Playgroud)


jfg*_*956 9

您可以使用-egrep选项来选择许多模式:

grep -e "AAA$" -e "AAA[[:space:]]"
Run Code Online (Sandbox Code Playgroud)

从grep man:

-e PATTERN, --regexp=PATTERN
      Use  PATTERN  as  the  pattern.   This  can  be  used to specify
      multiple search patterns, or to protect a pattern beginning with
      a hyphen (-).  (-e is specified by POSIX.)
Run Code Online (Sandbox Code Playgroud)