kAworu's avatar

more^Wless convitude

publié par kAworu
il y a plus de trois ans

utilisateurs de less bonjour !

Un truc très sympa avec less c'est qu'on peut lui donner n'importe quel type de fichiers si on le configure un tout petit peu. Il faut utiliser un script (souvent appelé lesspipe.sh) et la variable d'environnement LESSOPEN.

un petit exemple simple dans man less nous fait mirroiter la convitude de la chose:

       For example, on many Unix systems, this script will work like the previous example scripts:

       lesspipe.sh:
            #! /bin/sh
            case "$1" in
            *.Z) uncompress -c $1  2>/dev/null
                 ;;
            esac

       To use this script, put it where it can be executed and set LESSOPEN="|lesspipe.sh %s". 
When an input pipe is used, a LESSCLOSE  post‐processor can  be used, 
but it is usually not necessary since there is no replacement file to clean up. 
In this case, the replacement file name passed to the LESSCLOSE postprocessor is "-".

voilà tout est dit. Et biensûr, des gens chouette ont déjà codé de sympathique lesspipe.sh pour nous.

le lesspipe.sh de FreeBSD laisse un peu à désirer à mon goût (y'a même une directive ex, ça donne une indication sur le siècle de création):

#! /bin/sh
# ex:ts=8

# $FreeBSD: src/usr.bin/less/lesspipe.sh,v 1.4 2007/05/24 18:28:08 le Exp $

case "$1" in
        *.Z)
                exec uncompress -c "$1" 2>/dev/null
                ;;
        *.gz)
                exec gzip -d -c "$1"    2>/dev/null
                ;;
        *.bz2)
                exec bzip2 -d -c "$1"   2>/dev/null
                ;;
esac

Gentoo a un lesspipe.sh très complet, mais malheureusement écris en bash (beurk). Mais votre serviteur (à l'aide d'une tasse de café) l'a traduit avec ses gros doigts en sh pour vous.

Pour l'installation c'est facile, il suffit de le télécharger ici, de le mettre dans votre PATH, puis de mettre votre variable d'environnement LESSOPEN correctement (i.e. comme indiqué dans le man):

set LESSOPEN="|lesspipe.sh %s"

Pouf ! et voilà on peu less des dossiers, des tar, des tar.bz2, des pdf, des .doc (sisi, faut juste avoir les bons outils installés) etc.

WARNING

  • J'ai peut-être (et même certainement) merdé quelque part dans la traduction. donc utilisez pas ça en tant que root.
  • Vous être invité à le relire (200 lignes à peine et certainement seulement une dizaine de modifiées)
  • Aucune idée de la licence, parce que c'était déjà pas clair dans le lesspipe.sh de gentoo. en même temps, y'a très peu de chance de faire fortune avec un truc pareil.
aucun commentaire

écrire un commentaire

écrire un commentaire:


(utilisé pour gravatar, ne sera pas affiché)



tu peux utiliser la syntaxe markdown :)