Поиск содержимого в сжатых файлах в ОС Linux

Существует довольно много способов поиска в сжатых текстовых файлах в ОС Linux без предварительной распаковки этих файлов. В зависимости от формата файлов вы можете просматривать файлы целиком, извлекать определенное содержимое, перемещаться по содержимому файлов в поисках интересующего текста, а иногда редактировать это содержимое.

Для того чтобы продемонстрировать вам, как это работает, я сжала текстовый файл в одной из систем Linux (/usr/share/dict/words), используя следующие команды (см. скриншоты):

Параметры -k, используемые с командами bzip2, gzip и xz, не позволяли этим командам удалять исходный файл, что они и делали по умолчанию. Полученные файлы выглядят так:

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

Чтобы просмотреть все содержимое сжатого файла, оставив сжатый файл низменным, можно использовать любую из этих команд:

Для  7z:

Пример:

Для bz2:

Пример:

Для gz:

Пример:

Для xz: 

Пример:

Для zip:

Пример:

Вы также можете просматривать содержимое используя такие команды, как more или grep.

Поиск текста в файлах 7z

Команда 7z позволяет просматривать файлы, сжатые в архив. Но для поиска по их содержимому требуется опция извлечения (-x). Однако команда, подобная приведенной ниже, оставляет сжатый файл нетронутым, но также позволяет извлечь содержимое. Опция -so указывает команде на запись данных в стандартный вывод.

Похоже, что для файлов 7z не существует команды, подобной grep, но подобные команды работают очень хорошо.

Поиск текста в других типах сжатых файлов

Для поиска определенного текста в сжатых файлах вы можете использовать такие команды:

Для любой из этих команд вы должны увидеть слова, которые они извлекают из сжатых файлов words.

Категории