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.