首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将grep与标志和管道运算符相结合以过滤文件

将grep与标志和管道运算符相结合以过滤文件
EN

Stack Overflow用户
提问于 2018-11-01 09:40:02
回答 2查看 427关注 0票数 0

我有一个文件(智能手机),其中包含不同的智能手机:

品牌:苹果类型: iPhone 7颜色:银色年份:2

品牌:苹果类型: iPhone 7颜色:黄金年份:3

品牌:苹果类型: iPhone 8颜色:银色年份:1

品牌:苹果类型: iPhone 7颜色:银色年份:1

如何使用多个关键字搜索我正在寻找的智能手机,如果我想要结合grep与标志和管道操作符来过滤搜索?

我正在寻找的结果应该是这样的:

品牌:苹果类型: iPhone 7颜色:银色年份:1

我尝试了不同的方法,还有-e标志,但我得到的是不同的行,所有的结果都与我的关键字匹配,而不仅仅是一部智能手机与我的所有关键字匹配。

EN

回答 2

Stack Overflow用户

发布于 2018-11-01 09:49:43

cat <your_file_name_here> | grep 'Brand: Apple' | grep 'Type: iPhone 7'

将得到所有的苹果iPhone 7

您可以添加| grep 'Color: Silver'以获得所有银牌iPhone 7。

请注意,这假设总是有一个key: value -如果可能有不同数量的空格等,那么您需要做一些更聪明的事情。

票数 0
EN

Stack Overflow用户

发布于 2018-11-01 19:52:51

我找到解决方案了。我必须使用标志来显示关键字之前和之后的行:

grep苹果myfile -A2 | grep iPhone -C1 |1 -B2

A2表示-显示关键字之后的下两行,C1表示-显示关键字之前的行,-B2表示显示关键字之前的2行。

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

https://stackoverflow.com/questions/53094127

复制
相关文章

相似问题

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