首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >grep包括字符串中的选项卡和多次搜索

grep包括字符串中的选项卡和多次搜索
EN

Stack Overflow用户
提问于 2016-03-15 23:28:36
回答 2查看 1.2K关注 0票数 1

我想使用grep在一个文件中搜索多个东西。我试图将两行grep合并在一起,这是不成功的。要搜索多个字符串,我将执行以下操作:

代码语言:javascript
运行
复制
grep 'a\|b\|c' file

要搜索包含选项卡的字符串,我将使用以下内容:

代码语言:javascript
运行
复制
grep -P '1\ta' file

但是,要搜索多个字符串,所有这些字符串都包含将这两个选项卡组合在一起的选项卡,这是行不通的:

代码语言:javascript
运行
复制
grep -P '1\ta\|2\tb\|3\tc' file

有办法这样做吗?

EN

回答 2

Stack Overflow用户

发布于 2016-03-15 23:43:39

grep中的扩展regexp模式也应该工作:

代码语言:javascript
运行
复制
grep -E '1\ta\|2\tb\|3\tc' file
票数 3
EN

Stack Overflow用户

发布于 2016-03-16 00:07:09

就我个人而言,我会使用awk,因为它能够很好地理解扩展正则表达式语法和转义序列(如\t ):

代码语言:javascript
运行
复制
awk '/1\ta|2\tb|3\tc/' file

在本例中,使用专用于bash ($'')或grep (-P)的特性似乎有些过分。

以下是您可能会考虑的另一种选择:

代码语言:javascript
运行
复制
grep -Ff patterns file

其中patterns是包含您试图匹配的固定字符串的文件,例如:

代码语言:javascript
运行
复制
1   a
2   b

(文件中有一个文字制表符)。-F开关与固定字符串匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36024196

复制
相关文章

相似问题

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