Чтение сжатых файлов .gzPosted by On

Если вы работаете с логами, возможно сталкивались с ситуацией когда logrotate или другие ПО сжимает логи в .gz (GZIP). Сжатие позволяет экономить дисковое пространство и хранить большее количество логов, по сравнению с ситуацией когда сжатие не производится.

Особенностью является отсутствие возможности прочитать такой лог с помощью cat, grep или например редактора nano.

В данном гайде мы научимся читать такие файлы и работать с аналогами cat, grep, less, diff.

Логика проста, утилиты для работы с сжатыми текстовыми файлами начинаются с «Z»: zcat, zgrep, zless, zdiff.

Просмотр сжатых тестовых файлов .gz с помощью zcat

Если вы предпочитаете использовать cat, вы можете использовать его аналог для сжатых файлов:

zcat ispmgr.log.2019_06_06_05_29_55.0.gz

Данная команда выведет текстовый файл из архива ispmgr.log.2019_06_06_05_29_55.0.gz, аналогично как это делает cat.
Можно использовать различные комбинации для более удобно чтения текстовых файлов:

zcat logfile.gz | less
zcat logfile.gz | more

Чтение сжатых файлов с помощью zless и zmore

zless logfile.gz
zmore logfile.gz

Поиск текста внутри сжатого архива

Grep пожалуй одна из самых используемых команд в Linux. Утилита ZGrep позволяет нам искать текст внутри сжатых файлов, не распаковывая их:

zgrep -i текст_для_поиска logfile.gz

Сравнение сжатых текстовых файлов

Скорее всего данная команда не будет полезна для больших лог-файлов, но может помочь вам найти различия в небольших текстовых файлах.
Сравним содержимое logfize1.gz с logfile2.gz:

zdiff logfile1.gz logfile2.gz

 

LinuxШпаргалки

gzgzipzcatzdiffzgrepzlesszmoreархивылоги

avatar
  Подписаться  
Уведомление о