2013-11-27 40 views
1

我有在次使用正则表达式或猫

1200.gz 
1215.gz 
1230.gz 
1245.gz 
1300.gz 

当我想通过所有12个点钟文件搜索结束一些日志文件,我做zcat 12**.gz | grep whatever但它通常需要太长时间。有没有办法使用正则表达式“或”zcat 12(00|15)This tutorial使它看起来像我可以使用方括号,但我得到command not found错误。

回答

2

为什么不使用zgrep你使用zcat and grep?您可以直接使用zgrep command搜索压缩文件中的模式:

zgrep 'whatever' 12{00,15}.gz 
+0

谢谢!在上下文'zcat file.txt |中,zgrep速度更快或更慢grep'id = 1'| grep'fid =“500''? – 1252748

+0

那么它确实将2个管道命令合并为一个,所以它应该更好一些。 – anubhava

+0

我怎样才能将我的两个greps与zgrep连接起来?我可以将它全部包含在一个中以使grep更快吗? – 1252748

3

这与(z)cat命令无关,这是一个shell问题。

好像good old brace expansion应该对这种情况下的工作:

$ zcat 12{00,15}.gz | grep whatever