Guida avanzata a Solaris

Altri usi di grep

Il comando grep può anche essere utilizzato con le cosiddette espressioni regolari. Le espressioni regolari sono formate da lettere o numeri abbinati a caratteri speciali che grep interpreta in modo particolare. Questi caratteri speciali, chiamati anche metacaratteri, hanno un significato particolare anche per il sistema; è perciò necessario digitarli tra virgolette o farli precedere da un carattere di escape. Per utilizzare grep con un'espressione regolare al prompt di sistema, inserire l'espressione tra virgolette o utilizzare i metacaratteri (& ! . * $ ? e \) preceduti da una barra rovesciata (\).

$ grep '^b' lista

cercherà tutte le righe del file lista che iniziano con "b."

$ grep 'b$' lista

visualizzerà tutte le righe del file lista in cui l'ultimo carattere è una "b". Il comando:

$ grep '^b$' lista

visualizzerà tutte le righe del file lista che contengono solo il carattere "b".

$ grep 'de.' lista

estrae dal file lista tutti i gruppi di tre caratteri in cui "de" siano i primi due, ad esempio "dei", "del", "scodella" e "code" (anche gli spazi vuoti sono considerati caratteri).

$ grep 'qu*' lista

produrrà l'effetto desiderato. Se tuttavia si vogliono ricercare tutte le parole che contengano la lettera "n", il comando dovrà avere la forma seguente:

$ grep 'nn*' lista

Per ricercare tutte le parole che contengano il modello "nn", il comando da inserire sarà il seguente:

$ grep 'nnn*' lista

Per comprendere meglio questa funzione di grep può essere opportuno effettuare alcune prove ed esaminare l'output dei comandi.

$ grep .* lista