Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Команда zcat для начинающих (5 примеров)

Оригинал: Linux zcat Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 24 июля 2018 года
Перевод: А. Кривошей
Дата перевода: декабрь 2018 г.

Сжатие данных полезно, поскольку оно позволяет вам экономить место на жестком диске. В то же время пользователям командной строки необходимо распаковать архив для того, чтобы, например, просмотреть содержимое архива или содержимое одного из файлов. Тем не менее, есть утилита командной строки - zcat - которая позволяет вам заглянуть внутрь сжатых файлов без каких-либо дополнительных усилий.

В этом руководстве мы обсудим основы использования zcat, используя несколько простых для понимания примеров. Обратите внимание, что все примеры в этой статье были протестированы в Ubuntu 16.04 LTS.

Команда zcat

Команда zcat позволяет вам просматривать содержимое сжатого файла. Ниже приводится ее синтаксис:

zcat FILE ....

И вот как man-страница утилиты объясняет ее назначение:

zcat идентична gunzip -c (в некоторых системах zcat может устанавливается как gzcat, чтобы сохранить исходную ссылку на compress). zcat распаковывает список файлов в командной строке или стандартный ввод, и пишет несжатые данные на стандартный вывод.

Ниже приведены примеры в стиле вопрос/ответ, которые должны дать вам хорошее представление о том, как работает команда zcat.

Q1. Как использовать zcat?

Предположим, у вас есть сжатый текстовый файл, скажем test2.txt.gz. Если вы попытаетесь просмотреть его содержимое с помощью стандартной команды cat, вы увидите искаженный вывод:

искаженный вывод cat

Так что в этом случае вы можете использовать команду zcat. Основное использование очень просто - замените cat на zcat.

$ zcat test2.txt.gz

содержимое сжатого файла

Таким образом, вы можете видеть, что содержимое сжатого файла отображается на стандартном выводе.

Q2. Работает ли zcat с несколькими вводами?

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

$ zcat test.txt.gz test2.txt.gz

Вот вышеупомянутая команда в действии:

имена сжатых файлов в качестве входных данных

Q3. Распознает ли zcat сжатый файл по расширению?

Нет, это не тот случай. Вот что говорит по этому поводу справочная страница:

zcat распаковывает файлы с правильным магическим номером независимо от того, имеют они суффикс .gz или нет.

Чтобы убедиться в этом, мы удалили расширение .gz из одного из сжатых файлов и попытались запустить на нем zcat.

запуск zcat без расширения файла

Таким образом, вы можете видеть, что утилита все еще смогла узнать, что это сжатый файл, и отобразить его содержимое.

Q4. Как справиться с разбивкой вывода на страницы при использовании zcat?

Есть два способа сделать это. Либо вы можете использовать стандартные команды more и less:

zcat [FILENAME] | more
zcat [FILENAME] | less

Либо использовать команды zmore и zless:

zmore [FILENAME]
zless [FILENAME]

Q5. Работает ли zcat с несжатыми файлами?

По умолчанию нет. Если вы попытаетесь выполнить команду zcat с несжатым файлом в качестве входных данных, вы увидите ошибку, подобную следующей:

запуск zcat на несжатом файле

Однако если вы хотите, чтобы zcat отображал содержимое файла в выходных данных независимо от того, сжат файл или нет, используйте параметр командной строки -f. Следующий скриншот показывает эту опцию в действии:

параметр командной строки -f

Таким образом, вы можете видеть, что на этот раз утилита не выдала никакой ошибки.

Заключение

Несомненно, команда zcat экономит ваше время, если все, что вам нужно, это взглянуть на содержимое сжатого файла. Мы уже обсудили здесь некоторые полезные подробности, связанные с zcat. Для получения дополнительной информации зайдите на ее справочную страницу.