Grep-ing gzipped files [duplicate]

На этот вопрос уже есть ответ:

У меня есть набор из 100 файлов журнала, сжатых с помощью gzip. Мне нужно найти все строки, соответствующие заданному выражению. Я бы использовал grep, но, конечно, это немного кошмар, потому что мне придется разархивировать все файлы, один за другим, grep и удалить распакованную версию, потому что они не поместятся на моем сервере, если они все были разархивированы.

У кого-нибудь есть небольшой трюк, как это сделать быстро?

8
задан 21 October 2013 в 16:49
5 ответов

Вы можете посмотреть zgrep .

>$ zgrep -h
grep through gzip files
usage: zgrep [grep_options] pattern [files]
25
ответ дан 2 December 2019 в 22:40

Я могу Не говорю за вас, ключ DKIM, но ваша запись SPF настроена неправильно.

Вы указываете, что запись A, Запись MX и запись PTR разрешены, и тогда + all говорит, что любой адрес действителен. Если вы хотите исключить другие IP-адреса, тогда это должен быть -all .

Вы также захотите объявить запись SPF как текстовую запись, так как не все почтовые серверы поддерживают SPF DNS type.

Посмотрите некоторые из инструментов, найденных здесь , чтобы получить помощь в диагностике.

about.com/library/cmd/blcmdl1_zgrep.htm[12136 impression
10
ответ дан 2 December 2019 в 22:40

Или, если ваша ОС не поставляется с zgrep , что-то вроде этого.

gunzip -c somefile1.gz [...] | grep 'string'
4
ответ дан 2 December 2019 в 22:40

There's a utility called zcat, which is a version of cat that works on gzipped files. In your situation, you could do something like the following:

zcat yourfile.gz | grep 'serverfault is awesome'
3
ответ дан 2 December 2019 в 22:40

Хотя zgrep , кажется, следующая лучшая вещь после нарезанного хлеба, я подумал, что выложу альтернативу ...

Вы можете использовать конвейер, чтобы распаковать файлы журнала перед их сборкой, не занимая места на диске. Например:

cat /var/log/program.log.*.gz | gunzip | grep 'stuff and things'
1
ответ дан 2 December 2019 в 22:40

Теги

Похожие вопросы