2013-11-27 5 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

Почему вы используете zcat and grep? Вы можете напрямую использовать zgrep command для поиска рисунка в сжатых файлах:

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

Спасибо! zgrep быстрее или медленнее в контексте 'zcat file.txt | grep 'id = 1' | grep 'fid = "500''? – 1252748

+0

Ну, он объединяет 2 команды с каналами в одну, поэтому должно быть лучше. – anubhava

+0

как я мог бы привязать свои два greps с помощью zgrep? Могу ли я включить все это в один, чтобы быстрее сделать grep? – 1252748

3

Это не имеет никакого отношения к команде (z) cat, это проблема с оболочкой.

Похоже good old brace expansion должны работать для этого случая:

$ zcat 12{00,15}.gz | grep whatever 
Смежные вопросы