LESSPIPE.SH(1) Dienstprogramme fur Benutzer LESSPIPE.SH(1) BEZEICHNUNG lesspipe.sh - ein Filter fur Less UBERSICHT lesspipe.sh [DATEI[en]] BESCHREIBUNG Der Zweck von lesspipe.sh ist die Verbesserung der Ausgabe von less. Die Wahl der anzuwendenden Regeln zur Beeinflussung der Ausgabe basieren auf dem Inhalt der Datei. Die Dateiendung wird lediglich als letzter Anhaltspunkt berucksichtigt. lesspipe.sh wird ublicherweise als Eingabefilter fur less aufgerufen. Mit Hilfe dieses Filters zeigt less den unkomprimierten Inhalt komprimierter Dateien an (gzip, bzip2, compress, zstd, lz4, lzip, xz, lzma, zlib oder brotli). Bei Dateien, die Archive und Verzeichnisse enthalten (zum Beispiel die Formate tar, ar, zip, 7-zip, rar, jar, cpio, rpm, deb, ms-cabinet, iso, dmg, appimage und snap), wird ein Inhaltsverzeichnis angezeigt. Viele andere Dateien werden fur die Anzeige neu formatiert. Diese umfassen pdf, dvi, markdown, die Formate der Burosuiten MS Office und Openoffice, NetCDF, matlab, device tree blob, html, xml und Medienformate (Bild, Audio und Video). Dafur sind zusatzlich installierte Hilfsanwendungen erforderlich. Der Filter kann auch rekursiv bis zu einer Tiefe von 6 Verzeichnisebenen agieren und Dateien in Archiven unmittelbar entpacken und anzeigen. Hierbei zahlt ein Kompressionsalgorithmus als separate Ebene. Falls das Dienstprogramm file(1) Text mit einer Kodierung berichtet, die sich von der im Terminal verwendeten Kodierung unterscheidet, dann wird dieser Text mittels iconv(1) in die Standardkodierung umgewandelt. Dies setzt voraus, dass file(1) die Dateikodierung korrekt ermitteln kann, was aber in einigen Situationen nicht gelingt. Sie konnen die Umwandlung unterdrucken, indem Sie einen Doppelpunkt an den Dateinamen anhangen. Wenn Sie die Programme git(1), vim(1) oder mutt(1) verwenden, konnen Sie lesspipe.sh zum Lesen von Nicht-Textdateien aktivieren. Dies ist im Wiki auf https://github.com/wofr06/lesspipe/wiki beschrieben. FILTERAKTIVIERUNG Der Filter wird von less(1) aufgerufen, sofern die Umgebungsvariable LESSOPEN korrekt gesetzt ist. Fur die Ksh-artige Shells (bash(1), zsh(1)) sollte der Befehl LESSOPEN="|lesspipe.sh %s"; export LESSOPEN den Filter fur less(1). Verwenden Sie den vollstandigen Pfad, falls sich lesspipe.sh nicht im Suchpfad befindet. Wenn Sie lesspipe.sh ohne Argumente aufrufen, wird der Befehl zum Setzen der Variable LESSOPEN angezeigt. Damit konnen Sie LESSOPEN sogar direkt setzen: eval `lesspipe.sh` (bash) oder lesspipe.sh|source /dev/stdin (zsh) Die obigen Befehle funktionieren nur in der beschriebenen Art und Weise, falls der Dateiname lesspipe.sh lautet. Falls er unter einem anderen Namen installiert ist, dann wird der Aufruf ohne Argument als Filter mit gesetztem LESSQUIET funktionieren und die Eingabe wird von STDIN erwartet. Mit der wie vorstehend beschrieben gesetzten Umgebungsvariable zeigt less(1) dann fur zahlreiche Dateiformate Informationen in Textform an. Der Filter wird normalerweise nicht aufgerufen, wenn die Eingabe aus einer Pipe an less(1) ubergeben wird, wie in cat eine_Datei | less Wie in der Handbuchseite zu less(1) beschrieben, konnen Sie die Filterung in einer Pipe dennoch aktivieren, wenn Sie der Variable LESSOPEN die Zeichen |- voranstellen. Falls Befehle innerhalb von lesspipe.sh fehlschlagen, werden in einigen Fallen Fehlermeldungen angezeigt. Dies wird als fehlerhaftes Verhalten betrachtet und sollte berichtet werden. Um informative Meldungen in der ersten Zeile der Filterausgabe zu unterdrucken, kann die Umgebungsvariable LESSQUIET auf einen nicht leeren Wert gesetzt werden. Um den Filter temporar auszuschalten, konnen Sie einen Doppelpunkt an den Dateinamen anhangen. Falls der Dateiname selbst einen Doppelpunkt enthalt, sollten Sie stattdessen ein Gleichheitszeichen verwenden. HTML-, XML- und Perl-POD-Dateien Dateien im Format html und perl pod werden immer dargestellt. Manchmal sollen stattdessen allerdings die ursprunglichen Inhalte der Datei dargestellt werden. Wie bereits erwwahnt, kann dies durch Anhangen eines Doppelpunktes an den Dateinamen erreicht werden. Falls der korrekte Dateityp (html, pod) folgt, kann die Ausgabe farbig dargestellt weden (siehe auch den nachfolgenden Abschnitt). Beispiel: less index.html:html Falls das Programm xmq installiert ist, dann wird xml anders dargestellt, so dass die XML-Struktur besser erkennbar ist. Eine ahnliche Darstellung fur html-Inhalte mittels xmq wird durch Anhangen eines Doppelpunktes an den Dateinamen erreicht. Um die ursprunglichen HTML-Dateiinhalte zu erhalten, werden in diesem Fall zwei Doppelpunkte benotigt. FARBIGE AUSGABE Der Filter ist in der Lage, Syntaxhervorhebung fur eine breite Auswahl an Dateitypen zu verwenden. Falls installiert, wird nvimpager fur die farbige Darstellung der Ausgabe verwendet. Falls nicht, werden stattdessen pygmentize, source-highlight, vimcolor und code2color versucht. Fur bat/batcat wird das Thema auf ansi und der Stil auf plain gesetzt, welches der ungefilterten Ausgabe von less naher kommt. Diese Einstellungen konnen in ~/.config/bat/config oder den Umgebungsvariablen BAT_STYLE und BAT_THEME geandert werden. Der Inhalt der Protokolldateien kann eingefarbt werden, falls das Programm tspin(1) installiert ist und der Zeichenkette >>:log<< angehangt wird oder die Dateierweiterung >>log<< lautet. Aus diesen Einfarbungsprogrammen konnen Sie eines als Standard fur die farbige Darstellung festlegen, indem Sie die Umgebungsvariable LESSCOLORIZER auf dessen Namen setzen. Fur pygmentize(1) und bat/batcat sind folgende Einstellungen erlaubt: LESSCOLORIZER='pygmentize -O style=foo' # -P auch erlaubt LESSCOLORIZER='bat --style=foo --theme=bar' # Vorgabe: theme=ansi, style=plain Syntaxhervorhebung wird aktiviert, wenn die Umgebungsvariable LESS existiert und die Option -R enthalt oder less(1) mit dieser Option aufgerufen wird. Das stellt sicher, dass Escape-Sequenzen in Farben umgewandelt werden und die Anzeige nicht entstellen. Die Verwendung der Option -r wird nicht empfohlen, da lange Zeilen in der Ausgabe das Bildschirmlayout verfalschen konnten. Die Syntaxhervorhebung kann durch Anhangen eines Doppelpunktes an den Dateinamen deaktiviert werden, falls die Ausgabe farbig war. Sollte fur die Syntaxhervorhebung die falsche Sprache gewahlt worden sein, kann eine andere durch Anhangen eines Doppelpunktes und der entsprechenden Endung an den Dateinamen erzwungen werden. Die Liste der Endungen und unterstutzten Sprachen kann mittels folgenden Einfarbe-Befehlen angezeigt werden: bat --list-languages batcat --list-languages pygmentize -L lexers source-highlight --lang-list code2color -h vimcolor -L (both for vimcolor and nvimpager) In einer Pipe kann diese Methode nicht verwendet werden. Ein moglicher Ausweg ist das Hinzufugen eines letzten Arguments, das von lesspipe.sh ausgewertet wird. Ein einzelner Doppelpunkt (Deaktivierung der Filterung) oder :Erweiterung (Erzwingung einer bestimmten Sprache) ist beispielsweise moglich mit Befehl, der C-Code erzeugt | less - :c Wenn die Bedingungen fur Syntax-Hervorhebung erfullt sind, werden Auflistungen von Verzeichnis- und Tar-Inhalten ebenfalls farbig dargestellt. Da less(1) in anderen Programmen (z.B. man(1), git(1) und perldoc(1)) als Standardbrowser verwendet wird, kann lesspipe.sh beteiligt sein und die Ausgabe dieser Programme verandern. UBERWACHEN ANWACHSENDER DATEIEN Die Fahigkeit, grosser werdene Dateien zu beobachten (normalerweise fur Protokolldateien wie Syslog erwunscht) (mittels des Befehls F innerhalb von less(1) oder dem Aufruf von less(1) mit der Option +F) konnte verloren gehen, falls lesspipe.sh die Eingabe in einer temporaren Datei fur die weitere Bearbeitung speichert. Dies kann korrigiert werden, in dem ein Doppelpunkt als letztes Argument fur less wie beispielsweise folgt angegeben wird: less /var/log/syslog: Oder falls LESSOPEN mit |- beginnt und less(1) in einer Pipe aufgerufen wird. cat /var/log/syslog | less +F - : FORTGESCHRITTENE VERWENDUNG Diese Version von lesspipe.sh ermoglicht Ihnen die Anzeige individueller Dateien, die in einem Dateiarchiv enthalten sind, welches selbst sogar in einem anderen Archiv enthalten sein kann. Die Notation fur die Betrachtung von Dateien in Archiven, die mehrere Dateien enthalten, ist wie folgt: less Archivdatei:enthaltene_Datei oder auch less Ubergeordnetes_Archiv:Archivdatei:enthaltene_Datei Um die letzte Datei in der Kette in einem Rohformat anzuzeigen, muss an den Dateinamen ein Doppelpunkt (:) angehangt werden. Falls diese bereits einen Doppelpunkt enthalt, muss ein Gleichheitszeichen (=) als alternatives Trennzeichen verwendet werden. Diese Methode zum Entpacken und Anzeigen von Dateien funktioniert wiederum nicht, wenn less in einer Ausgabe-Pipe aufgerufen wird und die Umgebungsvariable LESSOPEN mit den Zeichen |- beginnt. Wie auch fur die Syntaxhervorhebung, ist die Losung die Verwendung eines zweiten Arguments, das mit einem Doppelpunkt beginnt. Dann wurde der vorige Befehl folgendermassen lauten: cat Ubergeordnetes_Archiv | less - :Archiv:enthaltene_Datei VERVOLLSTANDIGUNGSMECHANISMUS FUR ARCHIVINHALTE Mit der bereitgestellten Datei lesscomplete (fur zsh(1) und bash(1)), _less (fur zsh) und less (fur bash), die wahrend der Installation erstellt werden, ist eine Tab-Vervollstandigung fur Dateien in Archiven moglich. Wenn Sie nach dem Namen einer Archivdatei einen Doppelpunkt (:) oder ein Gleichheitszeichen (=) eingeben und dann die Tabulatortaste drucken, wird die Vervollstandigung ausgelost. Dies funktioniert auch in verketteten Archiven. Die fur den Vervollstandigungsalgorithmus benotigten Dateien werden in Verzeichnissen installiert, die den Auswahlen wahrend der Installation (Konfigurationsskript) entsprechen. Die Dateien lesscomplete muss sich in einem der in $PATH aufgelisteten Verzeichnisse und die Funktion _less fur zsh(1) in einem in $fpath aufgelisteten Verzeichnis befinden. Die Datei less mit Vervollstandigungsanweisungen fur bash(1) muss innerhalb eines Bash-Initialisierungsskripts eingelesen werden, zum Beispiel in ~/.bashrc. Neue Verzeichnisse wie ~/scripts und ~/.fpath (fur zsh(1)) konnen mit folgenden Befehlen hinzugefugt werden: PATH=~/scripts:$PATH # (lesspipe.sh, less) und fpath=(~/.fpath $fpath) # (_less, nur zsh) In zsh(1) muss compinit aufgerufen werden und die Option >>menucomplete<< muss gesetzt werden, falls das noch nicht bereits passiert ist. Dies kann mit folgenden Befehlen erreicht werden: autoload compinit compinit -Uz setopt menucomplete Fur bash muss bash-completion (normalerweise ein Paket mit diesen Namen) installiert werden. BENUTZERDEFINIERTE FILTERUNG Das Filtern mit lesspipe.sh kann durch ein benutzerdefiniertes Programm ersetzt oder erweitert werden. Ein solches Programm muss entweder .lessfilter heissen (und sich im Home-Verzeichnis des Benutzers befinden) oder lessfilter heissen (und sich in einem in $PATH erwahnten Verzeichnis befinden). Es muss ausfuhrbar sein und muss sich mit einem Exit-Code 0 beenden, falls das Filtern innerhalb des Skriptes erfolgte. Andernfalls bedeutet ein von Null verschiedener Exit-Code, dass das Filtern bei lesspipe.sh verbleibt. Dieser Mechanismus kann dazu verwendet werden, dass Filtern fur neue Formate hinzuzufugen oder z.B. das Filtern fur bestimmte Dateitypen zu unterbinden. Beispielsweise konnte eine .lessfilter folgendermassen aussehen: #!/usr/bin/env bash case $1 in *.md|*.MD|*.mkd|*.markdown|*.rst) # falls das Python-Modul rich.markdown nicht gefunden wird, dann # ist der Exit-Code nicht Null und lesspipe.sh wird abgebrochen python3 -m rich.markdown -c $1 ;; *.html|*.htm) # rufen Sie Ihren Lieblings-HTML-Verschoner auf, >>cat -b<< ist nur ein langweiliges Beispiel cat -b $1 ;; *) exit 1;; esac AUTOR Wolfgang Friebel FEHLER MELDEN Melden Sie Fehler an . COPYRIGHT Copyright (C) 2005-2026 Wolfgang Friebel Dies ist freie Software, in den Quellen finden Sie die Bedingungen zur Weitergabe. Es gibt KEINE Garantie, auch nicht fur die MARKTREIFE oder die TAUGLICHKEIT FUR EINEN BESTIMMTEN ZWECK. SIEHE AUCH less(1) Eine Beschreibung von lesspipe.sh finden Sie auch in der Datei README, die im Quellcode-Paket enthalten ist. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . lesspipe.sh April 2026 LESSPIPE.SH(1)