首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在shell文件中使用grep

在shell文件中使用grep
EN

Stack Overflow用户
提问于 2013-01-30 07:13:39
回答 2查看 221关注 0票数 0

关于使用shell脚本获取文件中的数据,我有一个问题。我想搜索一些具有多个条件的行。

例如,如果我有这个文件:

代码语言:javascript
复制
TX VIDEO ID 34 B 33 SIZE 672 SRC -1 DST 11 T 0.1 1
TX CBR ID 35 B 35 SIZE 10 SRC -1 DST 11 T 0.1 1
RX VOIP ID 0 B 0 SIZE 32 SRC -1 DST 3 D 0.001 0
RX VOIP ID 8 B 8 SIZE 32 SRC -1 DST 5 D 0.001 1
RX VOIP ID 20 B 20 SIZE 32 SRC -1 DST 8 D 0.001 1
RX VIDEO ID 9 B 9 SIZE 1490 SRC -1 DST 5 D 0.002 1
RX VIDEO ID 21 B 21 SIZE 1490 SRC -1 DST 8 D 0.002 1
TX INF_BUF ID 37 B 10 SIZE 776 SRC 1 DST 5 T 0.102 1
TX INF_BUF ID 39 B 22 SIZE 776 SRC 2 DST 8 T 0.102 1

在这个文件中,我有每一行"RX VIDEO""TX VIDEO"。我想要获取数据的第一个条件是"DST 3 && DST 5"中的所有"RX VIDEO"

EN

回答 2

Stack Overflow用户

发布于 2013-01-30 07:31:31

我假设您希望包含RX VIDEO的行也包含DST 3DST 5

代码语言:javascript
复制
$ grep 'RX VIDEO.*DST [35]' a.txt
RX VIDEO ID 9 B 9 SIZE 1490 SRC -1 DST 5 D 0.002 1
票数 0
EN

Stack Overflow用户

发布于 2013-01-30 07:33:33

对于多个条件,您可以将greps输出通过管道传输到另一个grep。

如果要在文件中搜索包含AAA和BBB的行,可以执行以下操作:

代码语言:javascript
复制
grep 'AAA' file | grep 'BBB'

或者,您可以使用只有一个grep的正则表达式进行搜索:

代码语言:javascript
复制
grep -e 'AAA.*BBB' -e 'BBB.*AAA' file

如果任何-e选项后的表达式都匹配,则会得到结果。这意味着它的行为类似于或。

这两个示例都会找到类似下面这样的行:

代码语言:javascript
复制
AAABBB
AAA BBB
BBB AAA
BBBAAA
AAA-BBB
AAA---BBB
AAAA BBB
xAAAAAAA BBB AAAAA

诸若此类。

对于您的示例,可以是:

代码语言:javascript
复制
grep 'RX VIDEO' file | grep -e 'DST 3' -e 'DST 5'

这将与DST 3DST 5一起搜索RX VIDEO

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

https://stackoverflow.com/questions/14593824

复制
相关文章

相似问题

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