Per selezionare file nella shell o per scegliere le righe con il comando grep ho precedentemente parlato dell'uso dei caratteri jolly come * e ?
In realtà avrei dovuto parlare più precisamente di espressioni regolari
Un'espressione regolare è un modo per indicare un insieme di frasi che hanno caratteristiche comuni
Per indicare le caratteristiche comuni potremo ad esempio indicare le parti che non debbono cambiare, che verranno scritte nell'espressione come dovranno comaprire.
Potremo racchiudere delle parti tra parentesi tonde, dette subespressioni
Le subespressioni potranno essere riutilizzate nella frase da sostituirecome nel comando s/<espressione regolare>/<frase da sostituire>/ di sed o vi, in un comando si sostituzione, verranno indicate come <barra rovesciata>1, <barra rovesciata>2 ...
Possiamo anche indicare caratteri che possano assumere solo certi valori, indicando liste di caratteri racchiusi tra parentesi quadre
Se la lista di caratteri inizia con ^, corrisponderà a caratteri che nonappartengonoappartenggono alla lista stessa.
Se un carattere, una lista o una subespressione è seguita da ?, essa potrà comparire o meno nella frase trovata.
Se un carattere, una lista o una subespressione è seguita da *, essa potrà non comparire, comparire una volta o più volte nella frase trovata.
Il carattere . (punto) indica un qualunque carattere. Se nella nell'espressione regolare deve comparire un carattere che ha un significato particolare per le espressioni regolari lo faremo precedere da <barra rovesciata>.
Per maggiori informazioni sulle espressioni regolari consultare man regex o man perlre per l'implementazione del linguaggio Perl.