LESSOPEN(1)

NOM
lessfile, lesspipe — « Préprocesseur d’entrée » pour less(1)

SYNOPSIS
lessfile, lesspipe

DESCRIPTION
Cette page de manuel décrit brièvement les commandes lessfile(1) et lesspipe(1). Elle a été écrite pour la distribution Debian GNU/Linux parce que les scripts du préprocesseur d’entrée sont fournis par Debian GNU/Linux et ne font pas partie du programme original.

lessfile(1) et lesspipe(1) sont des programmes qui permettent de modifier la manière dont le contenu d’un fichier sera affiché dans less(1). Cela signifie que less(1) peut ouvrir automatiquement des fichiers tar, décompresser des fichiers compressés avec gzip(1) et même afficher quelque chose d’acceptable avec des fichiers graphiques.

lesspipe(1) va délivrer le contenu du fichier et les informations sur la sortie standard et less(1) les lira au fur et à mesure de leur arrivée. Cela signifie que vous ne serez pas obligé d’attendre la fin du décodage pour visualiser le fichier. Cela implique aussi que vous obtiendrez un « byte N » au lieu d’un « N% » pour indiquer votre position dans le fichier. Vous pouvez aller à la fin du fichier et revenir à votre position initiale pour obtenir le « N% », mais pour cela, vous devrez attendre que la sortie du tube ne délivre plus de données.

lessfile(1) va écrire le contenu et les informations dans un fichier que less(1) pourra lire. Une fois terminé, lessfile(1) supprimera le fichier. Cela signifie que vous devrez attendre que le processus d’écriture se termine pour pouvoir visualiser le fichier, mais vous aurez alors devant vous un magnifique pourcentage « N% ».

UTILISATION
Ajoutez simplement une des deux commandes suivantes à votre script de connexion (par exemple ~/.bash_profile) :

  eval "$(lessfile)"

ou

  eval "$(lesspipe)"

RECONNAISSANCE DU TYPE DE FICHIER
Les types de fichier sont reconnus par leur extension. Voici une liste des extensions actuellement prises en charge (groupées selon les programmes qui les gèrent) :

  *.a
  *.arj
  *.tar.bz2
  *.bz
  *.bz2
  *.deb, *.udeb, *.ddeb
  *.doc
  *.egg
  *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif
  *.iso, *.raw, *.bin
  *.lha, *.lzh
  *.tar.lz, *.tlz
  *.lz
  *.7z
  *.pdf
  *.rar, *.r[0-9][0-9]
  *.rpm
  *.tar.gz, *.tgz, *.tar.z, *.tar.dz
  *.gz, *.z, *.dz
  *.tar
  *.tar.xz, *.xz
  *.whl
  *.jar, *.war, *.xpi, *.zip
  *.zoo
  *.tar.zst, *.tzst
  *.zst

FILTRES DÉFINIS PAR L’UTILISATEUR
Si vous avez des besoins particuliers, vous pouvez enrichir ou remplacer les processeurs d’entrée lesspipe(1) et lessfile(1). Pour ce faire, créez un programme exécutable nommé .lessfilter et placez-le dans votre répertoire personnel. Il peut s’agir d’un script de l’interpréteur de commande ou d’un programme binaire.

Il est important que ce programme renvoie un code de retour correct : 0 si c’est votre filtre qui traite l’entrée, 1 si c’est le filtre standard lesspipe/lessfile qui doit le faire.

Voici un exemple de script :

  #!/bin/sh

  case "$1" in
      *.extension)
          extension-handler "$1"
          ;;
      *)
          # Nous ne traitons pas ce format.
          exit 1
  esac

  # Aucun traitement ultérieur par lesspipe n’est nécessaire
  exit 0

FICHIERS

~/.lessfilter
    Le fichier exécutable qui effectue un traitement défini par l’utilisateur. Voir la section FILTRES DÉFINIS PAR L’UTILISATEUR pour plus de détails.

BOGUES

Parfois, less(1) affiche ce que génère votre script de connexion (~/.bashrc ou ~/.bash_profile) à la place du contenu du fichier que vous souhaitez visualiser. Cela est dû au fait que less(1) utilise votre interpréteur de commande actuel pour exécuter le filtre lesspipe. bash(1) recherche tout d’abord la variable BASH_ENV dans l’environnement, en extrait la valeur et utilise cette dernière comme nom d’un fichier à lire et exécuter. Si ce fichier génère une sortie, less(1) l’affichera. Une solution à ce problème consiste à ajouter les lignes suivantes au début du script de connexion qui génère une sortie :

  if [ -z "$PS1" ]; then
      exit
  fi

Ces lignes vérifient si la variable d’invite $PS1 est définie et si elle ne l’est pas (ce qui est le cas pour les interpréteurs de commande non interactifs), l’exécution du script se termine.

VOIR AUSSI
less(1)

AUTEUR
Cette page de manuel a été écrite par Thomas Schoepf <schoepf@debian.org> pour le système Debian GNU/Linux (mais peut être utilisée pour d’autres systèmes). La plus grande partie du texte provient d’une description écrite par Darren Stalder <torin@daft.com>.

TRADUCTION
La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@univ-lorraine.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.