|
egrep -i '(string1|string2)' file
|
|
Ricerca e visualizza in un file
string1 e string2 |
grep '^1' list.txt |
|
Ricerca in list.txt le righe
che iniziano con 1 |
egrep '^2[234]' list.txt |
|
Ricerca le righe che iniziano
con 22,23,24 |
grep '^Linux$' list.txt |
|
Ricerca le righe che contengono
SOLO la parola Linux |
grep -c '^$' list.txt |
|
Visualizza il numero di righe
vuote in list.txt |
grep '^[^0-9]' list.txt |
|
Visualizza le righe che NON iniziano
con un numero |
grep '\<[Ll]inux\>' list.txt |
|
Visualizza le righe che contengono
la parola singola Linux o linus, ma non visualizza quelle con,
per esempio, LinuxOS |
|
|
Qualunque utente di Dos o Unix ha gia' usato
una forma di R.E.: |
> dir *.exe |
|
|
Una buona conoscenze delle RE
velocizza l'operazione di ricerca all'interno di file molto lunghi. |
|
Le Regular Expressions (RegExp)
sono un sistema di regole rivolte alla creazione di pattern di ricerca
utili a trovare occorenze all'interno di un testo e a modificarle
con altro testo. Da oltre vent'anni vengono usate in parecchi tool
ed utility Unix come grep, sed oppure awk, spesso con piccole variazioni
nella sintassi.
Le Regular Expressions sono case sensitive (ossia distinguono
le maiuscole dalle minuscole) e seguono delle semplici regole di sintassi.
Forniscono la possibiltà di specificare quante volte può
riscontrarsi il testo specificato preservando la validità
della ricerca.
Le espressioni regolari operano sulle stringhe, e le stringhe più
semplici sono costituite da singoli caratteri. La maggior parte
dei caratteri corrisponde semplicemente a se stessa.
Alcuni caratteri assumono invece significati particolari e vengono
chiamati metacaratteri.
|
Metacarattere |
Definizione |
. |
identifica un singolo carattere |
^ |
identifica l'inizio riga
|
\ |
neutralizza il significato del metacarattere
seguente |
$
|
identifica la fine della stringa |
[] |
identifica qualsiasi carattere indicato
tra parentesi |
[^] |
identifica tutti i caratteri non specificati
nell'insieme |
[0-9] |
identifica ogni carattere compreso nell'intervallo
(numeri o lettere) |
Modificatori |
? |
zero o una volta |
+ |
una o più volte |
* |
zero o più volte |
| |
uno o l'altro elemento prima
e dopo il segno | |
|