Lesspipe

Da Wiki di NetBSD Italia.

Questo articolo non rispetta le linee guida per i contenuti per tanto necessita di essere wikificato (ovvero reso conforme sulla base di queste regole). Offri il tuo contributo per migliorare questo wiki secondo le convenzioni di NetBSD-it.

Less è un pager davvero molto potente e flessibile. Un delle cose più interessanti è la possibilità di poter visualizzare direttamente non soltanto file di testo, ma anche archivi, file compressi e file binari. Per far questo è sufficiente impostare la variabile di sistema LESSOPEN ed utilizzare uno script chiamato lesspipe.sh, che è un filtro per il pager less. Questo script funziona su una shell compatibile ksh (ksh,bash,zsh) e permette di visualizzare file con contenuto binario, file compressi, archivi ed i file contenuti negli archivi. Un grande numero di formati sono supportati, e recentemente è stato aggiunto anche il "syntax highlighting" grazie allo script perl code2color. Lo script code2color è scritto in perl, e supporta i linguaggi: ada, asm, awk, c, c++, groff, html, xml, java, javascript, lisp, m4, make, pascal, patch, perl, povray, python, ruby, shellscript and sql.


Download

Il tarball lesspipe.tar.gz è disponibile qui [1]

Prerequisiti

Lo script lesspipe.sh necessità di parecchi programmi che possono o meno essere installati sulla tua macchina, quindi è consigliabile scaricare il tarball lesspipe.tar.gz e usare configure per personalizzarlo per le proprie esigenze e per il proprio computer. Lo script perl code2color è incluso nel tarball, ma altri programmi non lo sono.

Supporto per i seguenti archivi compressi:

gzip, compress, pack	richiede gzip
bzip2			richiede bzip2
zip			richiede unzip
rar			richiede rar oppure unrar
7-zip			richiede 7za

Supporto per i seguenti tipi di file (anche compressi):

tar		richiede GNU tar
nroff(mandoc)	richiede groff
ar library	richiede ar
shared library	richiede nm
executable	richiede strings
directory
RPM		richiede rpm, rpm2cpio e GNU cpio
Microsoft Word	richiede antiword
Debian 		visualizza maggiori informazioni se dpkg è installato
html		richiede html2text or lynx
pdf		richiede pdftotext (comes with xpdf)
perl		richiede pod2text
unmounted media richiede programmi per leggere da questi media	(GNU file 3.27 o superiore, tar, mdir, mtype, mtoolstest)
rtf		richiede unrtf (and optionally html2text)
dvi		richiede dvi2tty
ps		richiede pstotext or ps2ascii and gs
mp3		richiede mp3info
iso images	richiede isoinfo
MacOSX archives richiede lsbom (e una versione aggiornata di /etc/magic)
MacOS X bom	richiede lsbom (e una versione aggiornata di /etc/magic)
cab		richiede cabextract (versione 1.0 o superiore)
perl storable   richiede perl
Openoffice.org 1.x and Opendocument (OASIS) text documents richiede o3read, html2text ed una versione aggiornata del file magic (dal pacchetto file versione 4.17 o superiore)

Installazione

Eseguire i seguenti comandi:

./configure --prefix=/usr/pkg
cp ./code2color ./sxw2txt ./lesspipe.sh /usr/pkg/bin
cp ./lesspipe.1 /usr/share/man/man1/
chmod 0755 /usr/pkg/bin/lesspipe.sh
chmod 0755 /usr/pkg/bin/sxw2txt
chmod 0755 /usr/pkg/bin/code2color

Ora si può settare la variabile d'ambiente LESSOPEN:

 LESSOPEN="|/usr/local/bin/lesspipe.sh %s"; export LESSOPEN  #(sh like shells)
 setenv LESSOPEN "|/usr/local/bin/lesspipe.sh %s"            #(csh, tcsh)

Anche se non specificatamente collegato a lesspipe, è possibile impostare come pager predefinito less:

# PAGER="/usr/bin/less"; export PAGER    #(sh like shells)
# setenv PAGER="/usr/bin/less"           #(csh, tcsh)

Se eseguiti da terminale, le variabili d'ambiente saranno temporanee, attive solo nella sessione corrente. Per renderle permanenti è possibile inserire i comandi in /etc/profile.

Strumenti personali