Советы работы с содержимым архивов без явной переархивации


ramok аватар

ramok - Posted on 02 Июль 2009

В системе обычно присутствует набор утилит облегчающих жизнь при работе с зархивироваными логами или документацией.
Названия этих утилиток начинаются с префикса z: zgrep, zless, zdiff, zmore и подобные.

Так же существует набор утилит для работы bzip2 ахивами (префикс bz*) и zip архивами (префикс zip*).

Кроме того многие утилитки самостоятельно умеют работать с архивироваными файлами. Например: vim, gv умеет открывать ps.gz, pdf.gz, и подобное.

Также в пакете moreutils так же существует утилита zrun, которая автоматически распаковывает файл из рахива и передает его указаной команде.

Примеры использования:

$ cd /var/log          # зайдем туда где логи лежат
$ ls -l syslog*        # убедимся что большая из них сжата
-rw-r----- 1 root adm 17026 Июл  2 14:55 syslog
-rw-r----- 1 root adm 31824 Июл  2 06:36 syslog.0
-rw-r----- 1 root adm  1914 Июл  1 06:35 syslog.1.gz
-rw-r----- 1 root adm  2354 Июн 30 06:35 syslog.2.gz
-rw-r----- 1 root adm  1776 Июн 29 06:35 syslog.3.gz
-rw-r----- 1 root adm  1771 Июн 28 06:25 syslog.4.gz
-rw-r----- 1 root adm  3199 Июн 27 06:35 syslog.5.gz
-rw-r----- 1 root adm  3164 Июн 26 06:33 syslog.6.gz
$ zgrep CPU: syslog*   # поищем в сжатых архивах необходимое
syslog.5.gz:Jun 26 18:10:28 komar kernel: [8058780.873222] CPU: L1 I cache: 32K, L1 D cache: 32K
..
$ zless syslog.5.gz    # просмотрим интересущий нас лог

Или еще пример: в debian очень любят сжимать документацию идущую с пакетом. Я активно пользуюсь для поиска в спойлерах nethack поставленых из репозетория.

$ cd /usr/share/doc/nethack-spoilers
$ ls -l
total 277K
-rw-r--r-- 1 root root  3119 Фев 28  2004 abbr-343.txt.gz
-rw-r--r-- 1 root root  2241 Фев 28  2004 abil-343.txt
-rw-r--r-- 1 root root  2947 Фев 28  2004 amul-343.txt.gz
-rw-r--r-- 1 root root  6354 Фев 28  2004 armr-343.txt.gz
-rw-r--r-- 1 root root  7558 Фев 28  2004 art1-343.txt.gz
-rw-r--r-- 1 root root  5658 Фев 28  2004 art2-343.txt.gz
...
$ zgrep "This tepid water is tasteless." *
foun-343.txt.gz:        "This tepid water is tasteless."
$ zless foun-343.txt.gz
5
Ваша оценка: Ничего Рейтинг: 5 (1 vote)