使用正则表达式或在猫

时间:2013-11-27 15:39:27

标签: regex linux unix cat

我有一些时间结束的日志文件

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错误。

3 个答案:

答案 0 :(得分:3)

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

似乎good old brace expansion适用于这种情况:

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

答案 1 :(得分:2)

使用,您可以使用extended globbing

shopt -s extglob
zcat 12@(00|15).gz | grep text

为什么不使用zgrep(如果有)

zgrep text 12@(00|15).gz 

答案 2 :(得分:2)

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

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