Grep中的Unix正则表达式

Grep中的Unix正则表达式,unix,grep,expression,output,Unix,Grep,Expression,Output,我有一些名单 20131101_klm 20131101_abc 20131102_klm 20131102_abc . . 第一个数字是时间戳,如20131101U klm是2013年11月1日的klm列表,abc也是如此 这些列表有如下几行 abcd efgh jk4m 23rf 我想在2013年11月9日至2013年11月16日期间,仅在荷兰皇家航空公司列表中使用“grep”命令进行搜索 (列表为txt.gz格式) 我在写 zegrep -a -E '*abcd*|*defgh*' 2

我有一些名单

20131101_klm
20131101_abc
20131102_klm
20131102_abc
.
.
第一个数字是时间戳,如20131101U klm是2013年11月1日的klm列表,abc也是如此

这些列表有如下几行

abcd
efgh
jk4m
23rf
我想在2013年11月9日至2013年11月16日期间,仅在荷兰皇家航空公司列表中使用“grep”命令进行搜索

(列表为txt.gz格式) 我在写

zegrep -a -E '*abcd*|*defgh*' 201311[09,10,11,12,13,14,15,16]*_klm 

但它给了我所有11月份的数据,比如20131101-20131102,所以一些数据不是来自20131109和20131116之间的数据??为什么它不只是在09-16之间给出呢?

这实际上是一个shell问题,而不是grep问题

zgrep -a -E '*abcd*|*defgh*' 201311{09,10,11,12,13,14,15,16}*_klm
这将适用于大多数当前shell(mksh、AT&T ksh、csh、tcsh、zsh、gnubash)


有些shell也支持正则表达式,但通常不支持POSIX ERE。

这实际上是一个shell问题,而不是grep问题

zgrep -a -E '*abcd*|*defgh*' 201311{09,10,11,12,13,14,15,16}*_klm
这将适用于大多数当前shell(mksh、AT&T ksh、csh、tcsh、zsh、gnubash)


有些shell也支持正则表达式,但通常不支持POSIX ERE。

这实际上是一个shell问题,而不是grep问题

zgrep -a -E '*abcd*|*defgh*' 201311{09,10,11,12,13,14,15,16}*_klm
这将适用于大多数当前shell(mksh、AT&T ksh、csh、tcsh、zsh、gnubash)


有些shell也支持正则表达式,但通常不支持POSIX ERE。

这实际上是一个shell问题,而不是grep问题

zgrep -a -E '*abcd*|*defgh*' 201311{09,10,11,12,13,14,15,16}*_klm
这将适用于大多数当前shell(mksh、AT&T ksh、csh、tcsh、zsh、gnubash)

有些shell还支持正则表达式,但通常不支持POSIX ERE