lesspipe_logo.png

Mehrfunktionen eingespeist

lesspipe

01.04.2002
Das Programm less als komfortablen Ersatz für more werden die Meisten schon kennen. Mit einem Skript ausgestattet kann es mehr als bloße Textdateien anzeigen.

out of the box

Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten.

Je nachdem, welche Linux-Distribution Sie benutzen, wird es Ihnen schon aufgefallen sein: In manchen Konfigurationen kann der Pager less mehr darstellen als reine Textdateien. Manpages werden automatisch formatiert oder Archivinhalte aufgelistet. Doch welcher Mechanismus steckt dahinter? Gibt es "Normal-less" und "Super-less"? Nein, das hier verwendete Feature gehört zum normalen Funktionsumfang von less und ist obendrein erweiterbar.

Das Shell-Skript lesspipe von Wolfgang Friebel macht Gebrauch davon, dass less beim Starten die Umgebungsvariable LESSOPEN überprüft. Ist diese nicht leer, wird ihr Inhalt als Programmname interpretiert und less überlässt diesem Tool das Öffnen der anzuzeigenden Datei. Dessen Ausgabe zeigt less dann an. Ein LESSOPEN-Programm wie lesspipe stellt also eine Vorverarbeitung der Eingabe, einen Input Preprocessor, dar.

Einpfeifen

Die lesspipe-Installation ist nicht schwierig. Zunächst besorgen Sie sich das Archiv lesspipe.tar.gz von http://www.desy.de/zeuthen/~friebel/unix/lesspipe.html oder von der Heft-CD. Nach dem Auspacken sucht das (einen Perl-Interpreter voraussetzende) Konfigurationsskript eine Reihe von Hilfsprogrammen zusammen und passt lesspipe daran an. Wird ein installiertes Tool nicht gefunden, helfen Sie dem Skript auf die Sprünge, indem Sie auf seine Frage Include code anyway? den vollen Pfadnamen angeben. Folgende Installationsschritte sind nötig:

tar xzf lesspipe.tar.gz
cd lesspipe-1.32
perl configure
su  (root-Passwort eingeben)
make install ; exit

Nach dieser Prozedur müssen Sie less nur noch mitteilen, dass es das soeben im Verzeichnis /usr/local/bin installierte Skript verwenden soll. Dazu tragen Sie in der Datei .bashrc in Ihrem Home-Verzeichnis folgende Zeile ein:

export LESSOPEN="|/usr/local/bin/lesspipe.sh %s"

Falls Sie statt der bash die (t)csh als Login-Shell verwenden, fügen Sie stattdessen die Zeile

setenv LESSOPEN "|/usr/local/bin/lesspipe.sh %s"

in die Datei .cshrc ein. Beim nächsten Login stehen dann die erweiterten less-Funktionen bereit.

Zeig mal…

Für einen einfachen Test können Sie die eventuell auf Ihrem System installierte (und mit locate l2kurz.dvi zu findende) LaTeX-Kurzanleitung oder eine andere dvi-Datei nutzen:

less l2kurz.dvi

Sofern bei der lesspipe-Installation das Hilfsprogramm dvi2tty nicht fehlte, sehen Sie eine Ausgabe ähnlich der in Abbildung 1. Das lesspipe-Skript erkennt den Dateityp übrigens nicht an der Endung, sondern mithilfe des Kommandos file [2], das ein Stück vom Inhalt der Datei liest und mit den Einträgen seiner Typendatenbank vergleicht.

Abbildung 1: TeX-Dokumente in less

In Tabelle 1 finden Sie die Dateitypen, die lesspipe unterstützt, vorausgesetzt, die passenden Hilfsprogramme sind installiert. Viele dieser Tools, etwa die Komprimierer gzip und bzip2, gehören schon von Haus aus zum Installationsumfang der meisten Distributionen, andere (etwa antiword [3]) müssen oft nachinstalliert werden. Nicht-Debian-User werden zudem auf die Möglichkeit, Debian-Archive anzusehen, verzichten müssen, denn die dazu von lesspipe verwendeten Tools gibt es für RPM-basierte Distributionen nicht.

Tabelle 1: Unterstützte Dateitypen

Typ Hilfsprogramm
.gz, .Z gzip
.bz2 bzip2
.zip unzip
.tar tar
Manpage groff
.a ar
Dynamische Bibliothek nm
Ausführbares Programm strings
.rpm, .spm rpm, rpm2cpio, cpio
.deb dpkg, dpkg-deb
.doc antiword
.html lynx
.pdf pdftotext
.rtf unrtf
.dvi dvi2tty
.ps ps2ascii, gs

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
Kommentare

Infos zur Publikation

LU 05/2015: Daten visualisieren

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...
Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 6 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...