Espressioni regolari/Globbing


Il globbing è una funzionalità dell'interprete di comandi standard utilizzato del sistema operativo Unix, detto shell. In seguito è stato introdotto in tutti gli interpreti di comandi derivati da esso (come C-shell). Tali interpreti di comandi vengono forniti con tutti i sistemi operativi derivati da Unix (standard Posix), come BSD, Linux, Mac OSX. Inoltre, tale funzionalità viene incorporata nei programmi generati dal compilatore "gcc" anche se lanciati da interpreti di comandi che non eseguono il gobbling, come cmd.exe di Windows.

Consiste nell'espandere una stringa in una serie di nomi di file. Supporta solo due simboli:

  • * (un numero qualsiasi di caratteri, compreso zero);
  • ? (uno ed un solo carattere).

Esempio: dati i file:

a b c aa bb ab abc abcd bbcd

abbiamo le espansioni:

?     a b c
a*    a aa abcd ab abc
??    aa bb ab
a?    aa ab
???*  abc abcd bbcdfg (equivale a *)


Esercizi

modifica

1 Per ogni rigo trovare la stringa che si espande in (nota che in generale le soluzioni non sono univoche):

????a*b?b*
abc
abcd
bbcd
bb
ab

2 Cosa prende in considerazione: "*.zip"?

Qualsiasi file compresso
Tutti i file con estensione "zip"
Il file "*.zip" e basta
Tutti i file che hanno un solo carattere e l'estensione "zip"

3 Ed invece "leggimi.*"?

Qualsiasi file di testo
Tutti i file con estensione "leggimi"
I File "leggimi.txt" e "leggimi.bat"
Tutti i file che hanno l'estensione di un solo carattere