accueil > Traitement et recherche de texte > lesspipe

lesspipe : préprocesseur d'entrée pour less

`lesspipe` est un script de préprocesseur d'entrée qui étend les fonctionnalités de la commande `less` pour permettre la visualisation directe de divers types de fichiers tels que les fichiers compressés, les archives et les PDF avec `less`. Via la variable d'environnement `LESSOPEN`, `less` appelle `lesspipe` avant d'ouvrir un fichier pour lui transmettre le contenu du fichier via un pipeline. Cela permet aux utilisateurs de visualiser le contenu immédiatement, sans étapes supplémentaires de décompression ou de conversion de fichiers.

Aperçu

`lesspipe` est un utilitaire qui aide `less` à traiter différents types de fichiers en plus des fichiers texte simples. Lorsque `less` ouvre un fichier, il exécute le script `lesspipe` pour convertir le contenu du fichier en sortie standard, et `less` reçoit cette sortie pour l'afficher.

Fonctionnalités principales

  • Visualisation directe du contenu des fichiers compressés (gzip, bzip2, xz, etc.)
  • Visualisation de la liste et du contenu des fichiers d'archive (tar, zip, rar, etc.)
  • Extraction et visualisation de texte à partir de fichiers non textuels tels que les PDF et les images (nécessite des outils appropriés)
  • Maintien des puissantes fonctions de recherche et de navigation de `less`

Installation et configuration

`lesspipe` est généralement fourni dans le cadre du paquet `less` ou comme un paquet `lesspipe` distinct dans la plupart des distributions Linux. L'essentiel est de définir la variable d'environnement `LESSOPEN` pour que `less` utilise `lesspipe`.

Vérification de l'installation

Il est généralement installé par défaut sur la plupart des systèmes, mais vous pouvez vérifier sa présence avec la commande suivante.

which lesspipe

Installation du paquet (si nécessaire)

Si `lesspipe` n'est pas installé, vous pouvez l'installer avec la commande suivante.

Debian/Ubuntu

sudo apt update && sudo apt install less

Fedora/RHEL

sudo dnf install less

Configuration de la variable d'environnement LESSOPEN

Pour activer `lesspipe`, vous devez ajouter la variable d'environnement `LESSOPEN` à votre fichier de configuration de shell (par exemple, `~/.bashrc`, `~/.zshrc`). Le chemin exact de `lesspipe` peut varier selon le système, vérifiez-le avec `which lesspipe`.

Exemple de configuration LESSOPEN

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

La configuration typique est la suivante. Appliquez les modifications immédiatement avec la commande `source`.

Explication de la variable LESSOPEN

  • `|`: Indique que la sortie de `lesspipe` sera transmise à `less` via un pipe.
  • `%s`: C'est un placeholder qui représente le chemin du fichier que `less` essaie d'ouvrir.
  • `LESS_ADVANCED_PREPROCESSOR=1`: Utilisé dans certaines versions de `lesspipe` pour activer les fonctionnalités de préprocesseur avancées.

Exemples d'utilisation

Une fois `lesspipe` correctement configuré, l'utilisation de la commande `less` comme d'habitude traitera automatiquement divers types de fichiers.

Visualisation du contenu d'un fichier compressé gzip

less my_log.gz

Visualisez directement le contenu d'un fichier `.gz` avec `less`, sans le décompresser.

Visualisation de la liste des fichiers internes d'une archive tar

less my_archive.tar.gz

Vérifiez la liste des fichiers internes d'un fichier `.tar.gz` avec `less`, sans le décompresser.

Visualisation de la liste des fichiers internes d'un fichier zip

less my_documents.zip

Vérifiez la liste des fichiers internes d'un fichier `.zip` avec `less`, sans le décompresser.

Visualisation du contenu textuel d'un fichier PDF

less document.pdf

Si des outils comme `pdftotext` sont installés, vous pouvez visualiser le contenu textuel d'un fichier PDF avec `less`.

Visualisation des chaînes de caractères d'un fichier binaire

less /bin/ls

Pour les fichiers binaires, vous pouvez visualiser les chaînes de caractères extraites avec la commande `strings` via `less`.

Conseils et précautions

Voici des conseils et des points à considérer pour utiliser `lesspipe` efficacement.

Script lesspipe personnalisé

Le script `lesspipe` par défaut est un script shell, vous pouvez donc le modifier selon vos besoins ou écrire votre propre script `lesspipe` et le spécifier dans la variable `LESSOPEN`. Par exemple, vous pouvez ajouter une logique de traitement supplémentaire pour des types de fichiers spécifiques.

  • Copier et modifier le script `lesspipe` existant
  • Ajouter une logique de traitement pour de nouveaux types de fichiers
  • Spécifier le chemin du script personnalisé dans la variable `LESSOPEN`

Considérations de performance

L'ouverture de fichiers compressés ou d'archives très volumineux avec `lesspipe` peut prendre du temps pour extraire et convertir le contenu du fichier. Dans ce cas, il peut y avoir un léger délai avant que `less` ne démarre.

Précautions de sécurité

`lesspipe` exécute des commandes externes pour traiter les fichiers. Par conséquent, l'utilisation d'un script `lesspipe` non fiable ou le traitement de fichiers malveillants via `lesspipe` peut entraîner des problèmes de sécurité. Utilisez toujours `lesspipe` provenant d'une source fiable et soyez prudent lors de la configuration de la variable `LESSOPEN`.

Vérification des types de fichiers pris en charge

En examinant le contenu du script `lesspipe` installé sur votre système, vous pouvez savoir quels types de fichiers il prend en charge et quels outils externes il utilise. Généralement, vous pouvez visualiser le contenu du script avec la commande `cat /usr/bin/lesspipe` (ou le chemin correspondant).


Commandes de la même catégorie