我有一个文件(智能手机),其中包含不同的智能手机:
品牌:苹果类型: iPhone 7颜色:银色年份:2
品牌:苹果类型: iPhone 7颜色:黄金年份:3
品牌:苹果类型: iPhone 8颜色:银色年份:1
品牌:苹果类型: iPhone 7颜色:银色年份:1
如何使用多个关键字搜索我正在寻找的智能手机,如果我想要结合grep与标志和管道操作符来过滤搜索?
我正在寻找的结果应该是这样的:
品牌:苹果类型: iPhone 7颜色:银色年份:1
我尝试了不同的方法,还有-e标志,但我得到的是不同的行,所有的结果都与我的关键字匹配,而不仅仅是一部智能手机与我的所有关键字匹配。
发布于 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 -如果可能有不同数量的空格等,那么您需要做一些更聪明的事情。
发布于 2018-11-01 19:52:51
我找到解决方案了。我必须使用标志来显示关键字之前和之后的行:
grep苹果myfile -A2 | grep iPhone -C1 |1 -B2
A2表示-显示关键字之后的下两行,C1表示-显示关键字之前的行,-B2表示显示关键字之前的2行。
https://stackoverflow.com/questions/53094127
复制相似问题