less (Unix)

Da Wikipedia, l'enciclopedia libera.
Less
Less.jpg
Sviluppatore Mark Nudelman
Ultima versione 458 (24 aprile 2013)
Ultima beta 470 (6 ottobre 2014)
Sistema operativo Unix-like
Microsoft Windows
DOS
OS/2
z/OS
OS-9
Linguaggio
Genere Utility (non in lista)
Licenza GPLv3
(Licenza libera)
Sito web www.greenwoodsoftware.com/less

less è un comando dei sistemi operativi Unix e Unix-like che mostra il contenuto di uno o più file di testo (o dello standard input) su di un terminale testuale, visualizzandolo una pagina per volta, permettendo di scorrerlo in avanti e all'indietro e di effettuare ricerche tramite espressioni regolari.

Storia[modifica | modifica wikitesto]

less nasce nel 1983 (e viene distribuito per la prima volta nel 1985[1]) per opera di Mark Nudelman come evoluzione delle vecchie implementazioni del comando more presente nei primi sistemi BSD.[2]

In particolare, less riprende gran parte delle funzionalità di more, permettendo inoltre di:

  • scorrere il testo all'indietro anche in caso di dati provenienti dallo standard input;
  • scorrere il testo fino ad una posizione predeterminata;
  • effettuare ricerche sia in avanti che all'indietro, evidenziando visivamente le occorrenze trovate.

Nel corso degli anni sono stati realizzati port anche per sistemi non Unix, tra cui MS-DOS, OS/2, Microsoft Windows e z/OS.[3], e less ha acquisito ulteriori funzionalità, permettendo di:

  • scorrere il testo orizzontalmente;
  • tenere sotto controllo le aggiunte ad un file, in maniera analoga a quanto avviene con il comando tail -f;
  • essere eseguito in maniera sicura (senza ad esempio possibilità di avviare programmi esterni) impostando a 1 la variabile d'ambiente LESSSECURE;
  • preprocessare i file da visualizzare (ad esempio decomprimendo automaticamente file compressi) tramite programmi esterni specificati dalla variabile d'ambiente LESSOPEN;
  • filtrare il testo mostrando solo le linee che soddisfano un'espressione regolare.

Uso[modifica | modifica wikitesto]

La sintassi generale di less è la seguente:

less [opzioni] [--] [file1 [file2 …] ]

I parametri facoltativi file indicano i nomi dei file di testo da visualizzare. Se non sono specificati, viene mostrato lo standard input.

Il doppio trattino -- (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.

Le opzioni sono in parte quelle previste dallo standard POSIX per il comando more.[4] Tra esse vi sono:

-c
Nel presentare le pagine, evita di far scorrere lo schermo.
-e
Esce da less quando si raggiunge per due volte consecutive la fine del file.
-i
Effettua ricerche senza differenziare tra lettere maiuscole e minuscole.
-s
Raggruppa le linee vuote, mostrando una sola linea vuota per ogni gruppo di linee vuote consecutive.
-t etichetta
Visualizza il file che contiene l'etichetta specificata. A tal fine è necessario che sia disponibile anche un file che elenchi le etichette ed i file che le contengono (ad esempio generato dal comando ctags).
-u
Disabilita la gestione particolare di alcuni caratteri di controllo, tipicamente col risultato che il testo che normalmente apparirebbe sottolineato o evidenziato viene visualizzato come testo normale.

Comandi[modifica | modifica wikitesto]

Dopo aver visualizzato una pagina di testo, less rimane normalmente in attesa di comandi da parte dell'utente. Alcuni di essi possono essere preceduti da un numero che ne influenza il comportamento.

I comandi sono per la maggior parte quelli previsti dallo standard POSIX per il comando more.[4] Alcuni dei comandi più comuni sono:

h
Mostra una pagina di aiuto dei comandi (da help, aiuto)
q
Esce da less (da quit, termina).
[numero_linee]spazio
Avanza di una pagina, o avanza del numero di linee indicato da numero_linee se specificato
[numero_pagine]f
Avanza di una pagina o del numero di pagine indicato da numero_pagine se specificato (da forward, avanti).
[numero_pagine]b
Torna indietro di una pagina o del numero di pagine indicato da numero_pagine se specificato (da backwards, indietro).
[num]g
Va all'inizio del testo (o al numero di linea num specificato).
[num]G
Va alla fine del testo (o al numero di linea num specificato).
[num]/regexp
Ricerca in avanti la prossima (o la num-esima) occorrenza dell'espressione regolare regexp.
[num]?regexp
Ricerca all'indietro la precedente (o la num-esima) occorrenza dell'espressione regolare regexp.
&regexp
Visualizza solo le linee che soddisfano l'espressione regolare regexp.
[num]n
Passa alla prossima (o la num-esima) occorrenza dell'ultima ricerca effettuata. La direzione dipende dalla direzione dell'ultima ricerca effettuata.
[num]N
Passa alla precedente (o la num-esima) occorrenza dell'ultima ricerca effettuata. La direzione è opposta a quella della dell'ultima ricerca effettuata.
!comando
Avvia il comando esterno specificato (ad esempio !ls -l /tmp)
v
Avvia un editor di testo esterno (tipicamente vi) per modificare il file.
F
Va alla fine del testo e continua a leggere in attesa di dati aggiuntivi (in maniera analoga a quanto avviene per il comando tail -f).

Esempi[modifica | modifica wikitesto]

Mostra il contenuto del file /var/adm/syslog:

less /var/adm/syslog

Esegue una ricerca tramite il comando find e visualizza il risultato una pagina per volta (tramite una pipeline software):

find /usr/bin -type f -print | less

Note[modifica | modifica wikitesto]

  1. ^ (EN) Mark Nudelman, less, a paginator in net.sources, 1º giugno 1985. URL consultato il 22 giugno 2008 (archiviato il 1º giugno 1985). Il messaggio contiene lo shell archive della distribuzione di less.
  2. ^ (EN) Mark Nudelman, Where did less come from? in Less FAQ. URL consultato il 22 giugno 2008.
  3. ^ Le piattaforme per cui less è disponibile sono elencate nella pagina di download
  4. ^ a b (EN) more in The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. URL consultato il 22-06-2008.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica