如何在egrep中使用通配符?

时间:2016-04-04 06:39:10

标签: grep

我可以使用通配符'?'在egrep? 我只想打印以' 02'开头的匹配字符串。或者' 03'来自Data。

尝试下面的命令,但它没有帮助。

egrep '03/??/16|02/??/16' test

数据

01/19/16
02/19/16
02/13/16
03/04/16
03/05/16

3 个答案:

答案 0 :(得分:3)

您是否真的查看了egrep的手册页?有人写道?指定前一项最多可选一次匹配(即零次或一次)。您可能正在寻找的是.模式,它只匹配一个字符。

你需要的可能是

egrep '03/../16|02/../16' test

egrep '(03|02)/../16' test

答案 1 :(得分:1)

使用.代替?来匹配单个字符:

egrep '03/../16|02/../16' test

或使用正确的数字字符类

egrep '(03|02)/[0-9]{2}/[0-9]{2}' test

答案 2 :(得分:1)

尝试

egrep '0[2,3]/[0-9]{2}/16' test

这将打印以' 02'开头的匹配字符串。或' 03