首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用grep匹配空格或换行符

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

Stack Overflow用户
提问于 2012-11-04 23:58:57
回答 4查看 53.2K关注 0票数 19

我想用一个单词grep一个文件,比如"AAA",它以空格或换行符结尾。我知道如何单独编写,如下所示,但在组合它们时遇到了问题(在某种意义上,它同时输出VVV AAAAAA VVV)。

代码语言:javascript
运行
复制
$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA$" 
>VVV AAA
$echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA[[:space:]]" 
>AAA VVV 

我试过用[],但没有成功。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-05 00:00:40

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

代码语言:javascript
运行
复制
grep -P "AAA( |$)"
票数 22
EN

Stack Overflow用户

发布于 2012-11-05 04:46:49

您可以使用grep的-e选项来选择许多模式:

代码语言:javascript
运行
复制
grep -e "AAA$" -e "AAA[[:space:]]"

来自grep man的话:

代码语言:javascript
运行
复制
-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.)
票数 12
EN

Stack Overflow用户

发布于 2012-11-05 00:05:31

如果还可以匹配AAA后跟任何其他非字母数字字符,则使用"AAA\b"。根据grep man pages\b匹配单词边缘的空字符串。

代码语言:javascript
运行
复制
$ echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA\b"
AAA VVV
VVV AAA
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13220192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档