Startseite > Textverarbeitung & Suche > lesspipe

lesspipe: Eingabevorverarbeitung für less

`lesspipe` ist ein Eingabevorverarbeitungsskript, das die Funktionalität des `less`-Befehls erweitert, sodass Sie verschiedene Dateiformate wie komprimierte Dateien, Archive und PDFs direkt mit `less` anzeigen können. Über die Umgebungsvariable `LESSOPEN` wird `lesspipe` aufgerufen, bevor `less` eine Datei öffnet, und der Dateiinhalt wird über eine Pipe übergeben. Dies ermöglicht es Benutzern, den Inhalt sofort anzuzeigen, ohne zusätzliche Schritte zum Entpacken oder Konvertieren der Datei ausführen zu müssen.

Übersicht

`lesspipe` ist ein Dienstprogramm, das `less` dabei hilft, verschiedene Dateiformate über reine Textdateien hinaus zu verarbeiten. Wenn `less` eine Datei öffnet, wird das `lesspipe`-Skript ausgeführt, um den Dateiinhalt in die Standardausgabe zu konvertieren, die dann von `less` empfangen und angezeigt wird.

Hauptfunktionen

  • Direkte Anzeige des Inhalts komprimierter Dateien (gzip, bzip2, xz usw.)
  • Anzeige von internen Listen und Inhalten von Archivdateien (tar, zip, rar usw.)
  • Extrahieren und Anzeigen von Text aus Nicht-Textdateien wie PDFs, Bildern usw. (erfordert entsprechende Tools)
  • Beibehaltung der leistungsstarken Such- und Navigationsfunktionen von `less`

Installation und Konfiguration

`lesspipe` wird auf den meisten Linux-Distributionen als Teil des `less`-Pakets oder als separates `lesspipe`-Paket bereitgestellt. Der Kernpunkt ist die Einstellung der Umgebungsvariable `LESSOPEN`, damit `less` `lesspipe` verwendet.

Installationsprüfung

Es ist auf den meisten Systemen standardmäßig installiert, aber Sie können mit dem folgenden Befehl prüfen, ob es vorhanden ist.

which lesspipe

Paketinstallation (falls erforderlich)

Wenn `lesspipe` nicht installiert ist, können Sie es mit dem folgenden Befehl installieren.

Debian/Ubuntu

sudo apt update && sudo apt install less

Fedora/RHEL

sudo dnf install less

Einstellung der Umgebungsvariable LESSOPEN

Um `lesspipe` zu aktivieren, müssen Sie die Umgebungsvariable `LESSOPEN` zu Ihrer Shell-Konfigurationsdatei (z. B. `~/.bashrc`, `~/.zshrc`) hinzufügen. Der genaue Pfad zu `lesspipe` kann je nach System variieren, prüfen Sie ihn daher mit `which lesspipe`.

Beispiel für LESSOPEN-Konfiguration

export LESSOPEN="|/usr/bin/lesspipe %s"
export LESS_ADVANCED_PREPROCESSOR=1
source ~/.bashrc

Eine typische Konfiguration sieht wie folgt aus. Wenden Sie die Änderungen sofort mit dem Befehl `source` an.

Erklärung der LESSOPEN-Variable

  • `|`: Bedeutet, dass die Ausgabe von `lesspipe` über eine Pipe an `less` weitergeleitet wird.
  • `%s`: Ist ein Platzhalter für den Pfad der Datei, die `less` zu öffnen versucht.
  • `LESS_ADVANCED_PREPROCESSOR=1`: Wird bei einigen `lesspipe`-Versionen verwendet, um erweiterte Vorverarbeitungsfunktionen zu aktivieren.

Anwendungsbeispiele

Wenn `lesspipe` korrekt konfiguriert ist, verarbeitet der Befehl `less` automatisch verschiedene Dateiformate, wenn Sie ihn wie gewohnt verwenden.

Anzeige des Inhalts einer gzip-komprimierten Datei

less my_log.gz

Zeigt den Inhalt einer `.gz`-Datei direkt mit `less` an, ohne sie zu entpacken.

Anzeige der internen Dateiliste eines tar-Archivs

less my_archive.tar.gz

Überprüft die interne Dateiliste einer `.tar.gz`-Datei mit `less`, ohne sie zu entpacken.

Anzeige der internen Dateiliste einer zip-Datei

less my_documents.zip

Überprüft die interne Dateiliste einer `.zip`-Datei mit `less`, ohne sie zu entpacken.

Anzeige des Textinhalts einer PDF-Datei

less document.pdf

Wenn Tools wie `pdftotext` installiert sind, können Sie den Textinhalt einer PDF-Datei mit `less` anzeigen.

Anzeige von Zeichenketten in Binärdateien

less /bin/ls

Bei Binärdateien können Sie die extrahierten Zeichenketten mit `less` anzeigen, indem Sie den Befehl `strings` verwenden.

Tipps & Hinweise

Tipps und Überlegungen zur effektiven Nutzung von `lesspipe`.

Benutzerdefinierte lesspipe-Skripte

Das Standard-`lesspipe`-Skript ist ein Shell-Skript. Sie können es bei Bedarf ändern oder Ihr eigenes `lesspipe`-Skript schreiben und es in der `LESSOPEN`-Variable angeben. Sie können beispielsweise zusätzliche Verarbeitungslogik für bestimmte Dateiformate hinzufügen.

  • Kopieren und Ändern des vorhandenen `lesspipe`-Skripts
  • Hinzufügen von Verarbeitungslogik für neue Dateiformate
  • Angeben des Pfads zum benutzerdefinierten Skript in der `LESSOPEN`-Variable

Leistungsüberlegungen

Wenn Sie sehr große komprimierte Dateien oder Archive mit `lesspipe` öffnen, kann die Extraktion und Konvertierung des Dateiinhaltes einige Zeit in Anspruch nehmen. In diesem Fall kann es zu einer leichten Verzögerung kommen, bis `less` gestartet wird.

Sicherheitshinweise

`lesspipe` führt externe Befehle zur Verarbeitung von Dateien aus. Daher können Sicherheitsprobleme auftreten, wenn Sie nicht vertrauenswürdige `lesspipe`-Skripte verwenden oder wenn bösartige Dateien über `lesspipe` verarbeitet werden. Verwenden Sie immer `lesspipe` aus vertrauenswürdigen Quellen und seien Sie vorsichtig bei der Einstellung der `LESSOPEN`-Variable.

Überprüfung unterstützter Dateiformate

Durch die Überprüfung des Inhalts des auf Ihrem System installierten `lesspipe`-Skripts können Sie feststellen, welche Dateiformate unterstützt werden und welche externen Tools verwendet werden. Sie können den Skriptinhalt normalerweise mit dem Befehl `cat /usr/bin/lesspipe` (oder dem entsprechenden Pfad) anzeigen.


Gleiche Kategorie Befehle