繁体   English   中英

Unix grep正则表达式如何grep for

[英]Unix grep regex how to grep for

我有一个文本文件

$ cat test.log
SYB-01001
SYB-18913
SYB-02445
SYB-21356

我想gre 01 01和18913只是为了做到这一点

我想要输出

SYB-01001
SYB-18913
SYB-02445

我试过这个,但不确定它有什么问题

grep 'SYB-(18913)|0*)' test.log

对grep使用“扩展正则表达式”的-E标志。

例如

grep -E 'SYB-(0|18913)' test.log

其他需要注意的事项:

  • 括号必须匹配(对于每个左括号,你想要一个右括号)
  • 0*表示零个或多个0字符 - 实际上这将匹配所有内容

试试看:

grep 'SYB-\(18913\|0*\)' test.log

但是你可能不希望0*部分这样做。 也许0+更好。

AWK

awk '/SYB-(0|18913)/' file

你的括号出来了。 尝试

grep 'SYB-[18913|0*]' test.log

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM