web-dev-qa-db-ja.com

古いSUSEディストリビューションの `gz`ファイルで行ったように` less`で `xz`ファイルを自動的に解凍するにはどうすればよいですか?

私の古いSUSEディストリビューションでは、lessは自動的に. gz ファイルを解凍していました。

これは、自動圧縮された/var/log/mail*.gzファイルを一覧表示するときに非常に便利でした。

SUSEの現在のバージョンでは、/var/log/mailなどが xz でアーカイブされるようになりました。

lessがどのように自動的に. gz ファイルを解凍するのか不思議に思ったことはありませんが、おそらく(:

だから:私は何をする必要があるので、これは「魔法のように」機能します:

less /var/log/mail-20130201.xz

これはLinuxの質問だと思いますが、SUSE固有の場合は、次のバージョンのSUSEを実行しています。

openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis

機能は lesspipe によって提供されます。それをインストールして置きます(私は現在チェックするSUSEマシンを持っていません)

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

シェル構成(例:.bashrc

2
Matteo

ありがとう Matteo for 私を正しい方向に向ける

lesspipe をOpenSUSEで実行することは、標準のOpenSUSE 12.xリポジトリの一部ではないため、少し手間がかかりました。入手できるのは「不安定な」lesspipeパッケージのみで、そのうちShow home:adra/lesspipe --openSUSE BuildServiceが最も頻繁に保守されているようです。

そこからインストールする方法は次のとおりです。

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