Available in

(1) (1)/cs (1)/de (1)/es (1)/fi (1)/fr (1)/hu (1)/it (1)/ja (1)/nl (1)/pl (1)/zh_CN (1)/zh_TW (1posix)

TOC

GREP(1)                                                                GREP(1)



NOME

       grep, egrep, fgrep - stampa le righe che corrispondono ad un modello

SINTASSI

       grep [ -[[AB] ]num ] [ -[CEFGVBchilnsvwx] ] [ -e ] modello | -ffile ] [
       file...  ]

DESCRIZIONE

       Grep ricerca nei file d'ingresso indicati (o nello  standard  input  se
       non   specificato  alcun  file, o  dato il nome di file -) le righe che
       contengono una corrispondenza ("match") al modello ("pattern") specifi-
       cato.   Di  default,  grep mostra solo le righe in cui  trovata la cor-
       rispondenza.

       Ci sono tre varianti principali di  grep,  controllate  dalle  seguenti
       opzioni.
       -G     Interpreta  modello  come una espressione regolare base (si veda
              sotto). Questo  il comportamento di default.
       -E     Interpreta modello come una espressione regolare estesa (si veda
              sotto).
       -F     Interpreta  modello come un elenco di stringhe prefissate, sepa-
              rate da newline, di  ognuna  delle  quali  deve  essere  cercata
              un'istanza.
       Inoltre,  sono  disponibili  i due programmi alternativi egrep e fgrep.
       Egrep
        simile (ma non identico) a grep -E, ed   compatibile  con  lo  storico
       comando Unix egrep.  Fgrep
        identico a grep -F.

       Tutte le varianti di grep capiscono le seguenti opzioni:
       -num   Le corrispondenze saranno stampate con le num righe precedenti e
              successive. Comunque, grep non stamper mai una riga  pi  di  una
              volta.
       -A num Stampa  anche  le  num  righe  successive alle righe in cui sono
              trovate le corrispondenze.
       -B num Stampa anche le num righe precedenti  alle  righe  in  cui  sono
              trovate le corrispondenze.
       -C     Equivalente a -2.
       -V     Stampa  il  numero  di  versione  di  grep nello standard error.
              Questo numero di versione dovrebbe essere  incluso  in  tutti  i
              rapporti sui bachi (si veda sotto).
       -b     Stampa  lo  spiazzamento in byte all'interno del file d'ingresso
              prima di ognuna delle righe dell'output.
       -c     Sopprime l'output normale; stampa invece, per  ognuno  dei  file
              d'ingresso,  il  numero  di  righe in cui  trovata la corrispon-
              denza.  Con l'opzione -v (si veda sotto), conta le righe che non
              corrispondono.
       -e modello
              Usa  modello  come  modello;  utile per proteggere i modelli che
              iniziano con -.
       -f file
              Ottiene il modello da file.
       -h     Sopprime la stampa dei nomi dei file in output quando la ricerca
              fatta su pi file.
       -i     Ignora  le  differenze tra i caratteri maiuscoli e minuscoli sia
              in modello che nei file d'ingresso.
       -L     Sopprime il normale output; stampa invece il nome di ognuno  dei
              file d'ingresso dai quali normalmente non sarebbe stato stampato
              niente.
       -l     Sopprime il normale output; stampa invece il nome di ognuno  dei
              file  d'ingresso  dai  quali  normalmente sarebbe stato stampato
              qualcosa.
       -n     Prefissa ogni riga dell'output con il numero di riga all'interno
              del suo file d'ingresso.
       -q     Quiet; sopprime l'output normale.
       -s     Sopprime i messaggi d'errore sui file non esistenti o non leggi-
              bili.
       -v     Inverte il senso della corrispondenza, per selezionare le  righe
              che non corrispondono.
       -w     Seleziona  solo  quelle righe contenenti corrispondenze che for-
              mano parole intere. Il  test   siffatto:  la  sottostringa  cor-
              rispondente deve o essere all'inizio di una riga, o preceduta da
              un carattere che non costituisce una  parola.  Similmente,  deve
              essere o alla fine di una riga o seguita da un carattere che non
              costituisce una parola. I  caratteri  che  costituiscono  parole
              sono le lettere, i numeri e l'underscore (`_').
       -x     Seleziona solo le corrispondenze in cui la corrispondenza  tutta
              la riga.

ESPRESSIONI REGOLARI

       Una  espressione  regolare  ("regular  expression")   un  modello   che
       descrive un insieme di stringhe. Le espressioni regolari sono costruite
       in modo analogo alle espressioni aritmetiche, usando diversi  operatori
       per combinare espressioni pi piccole.

       Grep comprende due diverse versioni di sintassi delle espressioni rego-
       lari: base e estesa.  In GNU grep, non c' alcuna differenza nelle  fun-
       zionalit  disponibili usando una o l'altra sintassi. In altre implemen-
       tazioni, le espressioni regolari base sono meno  potenti.  La  seguente
       descrizione  si applica alle espressioni regolari estese; le differenze
       per le espressioni regolari base sono riassunte pi avanti.

       I blocchi costituenti fondamentali sono  le  espressioni  regolari  che
       corrispondono  ad un singolo carattere. La maggior parte dei caratteri,
       comprese tutte le lettere e i numeri,  sono  espressioni  regolari  che
       corrispondono a loro stessi. Qualsiasi metacarattere con un significato
       speciale pu essere protetto prefissandolo con un backslash ('\').

       Una lista di caratteri racchiusi tra [ e ] permette  la  corrispondenza
       di  qualsiasi  singolo carattere in quella lista; se il primo carattere
       della lista  il caret ^ allora permette la corrispondenza con qualsiasi
       carattere che non
        nella  lista.   Per  esempio, l'espressione regolare [0123456789] cor-
       risponde ad una cifra singola qualsiasi.  Un  intervallo  di  caratteri
       ASCII  pu essere specificato dando il primo e l'ultimo carattere, sepa-
       rati da un trattino.  Inoltre, sono  predefinite  con  un  nome  alcune
       classi  di  caratteri.   I  loro  nomi  spiegano gi tutto (N.d.T: se si
       madrelingua inglese), e sono [:alnum:] (alfanumerici), [:alpha:] (alfa-
       betici),   [:cntrl:]   (di  controllo),  [:digit:]  (cifre),  [:graph:]
       (grafici), [:lower:]  (minuscoli),  [:print:]  (di  stampa),  [:punct:]
       (punteggiatura),   [:space:]   (spazio),   [:upper:]   (maiuscoli),   e
       [:xdigit:] (cifre esadecimali).   Per  esempio,  [[:alnum:]]  significa
       [0-9A-Za-z], ad eccezione che quest'ultima dipende dalla codifica ASCII
       dei caratteri, mentre la prima  portabile (si  noti  che  le  parentesi
       quadre  nei  nomi  delle classi sono parte del nome simbolico, e devono
       essere incluse in aggiunta alle parentesi che  delimitano  un  elenco).
       La maggior parte dei metacaratteri perdono il loro significato speciale
       all'interno di un elenco. Per includere il carattere ] lo si  posizioni
       per  primo  nella lista. Similmente, per includere un ^ lo si posizioni
       ovunque tranne che per primo, mentre per includere un - lo si metta per
       ultimo.

       Il carattere .  corrisponde ad un qualsiasi singolo carattere.  Il sim-
       bolo \w
        un sinonimo per [[:alnum:]] e \W
        un sinonimo per [^[:alnum]].

       Il caret ^ e il segno di dollaro $ sono metacaratteri che corrispondono
       rispettivamente  alla stringa vuota all'inizio e alla fine di una riga.
       Il simboli \< e \> corrispondono  rispettivamente  alla  stringa  vuota
       all'inizio  e  alla fine di una parola.  Il simbolo \b corrisponde alla
       stringa vuota presente ai "bordi" di una parola, e \B corrisponde  alla
       stringa vuota assicurandosi che non sia ai "bordi" di una parola.

       Una  espressione  regolare  che  corrisponde  a un carattere singolo pu
       essere seguita da uno dei diversi operatori di ripetizione:
       ?      Ci che precede  opzionale e la corrispondenza pu esserci  al  pi
              una volta.
       *      La corrispondenza a ci che precede pu esserci zero o pi volte.
       +      La corrispondenza a ci che precede pu esserci una o pi volte.
       {n}    La  corrispondenza  a  ci che precede deve esserci esattamente n
              volte
       {n,}   La corrispondenza a ci che precede deve esserci n o pi volte.
       {,m}   La corrispondenza a ci che precede deve esserci al pi m volte.
       {n,m}  La corrispondenza a ci che precede deve esserci almeno n  volte,
              ma non pi di m volte.

       Due  espressioni  regolari  possono  essere  concatenate; l'espressione
       regolare risultante corrisponde a qualsiasi  stringa  formata  concate-
       nando  due  sotto  stringhe  che corrispondono rispettivamente alle due
       sottoespressioni che sono state concatenate.

       Due espressioni regolari possono essere riunite ("join")  con  l'opera-
       tore di "infissione" |; l'espressione regolare risultante corrisponde a
       qualsiasi stringa che corrisponde ad una delle sottoespressioni.

       La ripetizione ha precedenza sulla concatenazione, che a sua  volta  ha
       precedenza  sull'alternanza.  Un'intera sottoespressione pu essere rac-
       chiusa tra parentesi per modificare queste regole di precedenza.

       Il riferimento all'indietro ("backreference") \n, dove n
        una cifra singola, corrisponde alla sottostringa che in precedenza  ha
       corrisposto  alla  n-esima sottoespressione parentesizzata dell'espres-
       sione regolare.

       Nelle espressioni regolari base i metacaratteri ?, +, {, |, (, e ) per-
       dono  il  loro  significato  speciale;  si usino invece le versioni con
       backslash \?, \+, \{, \|, \(, e \).

       In egrep il metacarattere { perde il suo significato speciale;  si  usi
       invece \{.

DIAGNOSTICA

       Normalmente,  lo  stato  d'uscita   0  se sono state trovate delle cor-
       rispondenze, e 1 se non ne sono state trovate (l'opzione -v inverte  il
       senso degli stati d'uscita). Lo stato d'uscita  2 se c'era un errore di
       sintassi nel modello, se i file d'ingresso erano  inaccessibili,  o  in
       caso di altri errori di sistema.

BACHI

       Inviare    i   rapporti   sui   bachi   ("bug   report")   a   bug-gnu-
       utils [AT] prep.edu.  Assicurarsi di  includere  la  parola  grep  da
       qualche parte nel campo Subject:.

       Numeri  di  ripetizioni  elevati  nel costrutto {m,n} possono far s che
       grep usi un sacco di memoria.  Inoltre, alcune altre oscure espressioni
       regolari  necessitano  di  tempo e spazio esponenziali, e possono far s
       che grep vada in out of memory.

       I riferimenti all'indietro sono molto lenti, e possono richiedere tempo
       esponenziale.



GNU Project                    10 settembre 1992                       GREP(1)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.