Как можно, чтобы `less` автоматически распаковывал файлы`xz`, как это делалось с файлами `gz` в моем старом дистрибутиве SUSE?

На моем старом дистрибутиве SUSE, less будет автоматически распаковывать. GZ файлы.

Это очень удобно при распечатывании автоматически /var/log/mail*.gz файлы.

Текущая версия SUSE теперь архивирует /var/log/mail и другие с хз.

Я никогда не задумывался как less автоматически распаковывается. GZ файлы, но я, вероятно, должен иметь (:

Итак: что мне нужно сделать, чтобы это "волшебно" сработало:

less /var/log/mail-20130201.xz

Я рассматриваю это как вопрос Linux, но в случае, если это специфично для SUSE, я использую эту версию SUSE:

openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis

2 ответа

Решение

Функциональность обеспечивается lesspipe. Установите его и поставьте (у меня нет машины SUSE для проверки)

[ -x /usr/bin/lessopen.sh ] && eval /usr/bin/lessopen.sh

в вашей конфигурации оболочки (например, .bashrc)

Спасибо Маттео за то, что указал мне правильное направление.

Получение lesspipe для запуска на OpenSUSE было небольшим путешествием, поскольку оно не является частью стандартного репозитория OpenSUSE 12.x. Вы можете получить только "нестабильные" пакеты lesspipe, из которых наиболее часто поддерживается служба сборки showhome:adra / lesspipe - openSUSE.

Вот как установить его оттуда:

zypper addrepo http://download.opensuse.org/repositories/home:adra/openSUSE_Factory/home:adra.repo
zypper refresh
zypper install lesspipe

Я использую оболочку bash, поэтому после выполнения установки мне пришлось добавить эту строку в мой ~/.bashrc

LESSOPEN="|lesspipe.sh %s"; export LESSOPEN
Другие вопросы по тегам