I caratteri jolly forniscono una comoda stenografia per specificare
nomi di file o directory multipli con un unico nome. Due dei più utili
caratteri jolly sono * e ?. Il carattere * si abbina a qualsiasi sequenza (stringa) di caratteri
(incluso nessun carattere) ed il ? si abbina a qualsiasi carattere.
Il
jolly * |
 |
Il jolly * significa “qualsiasi carattere, incluso
nessun carattere”. Supponiamo di aver creato i seguenti
file nella propria directory di lavoro attuale:
$ lsf myfile myfile2 myfile3 xenic yourfile |
Per elencare soltanto i nomi dei fili che iniziano con “myfile”, digitare:
$ lsf myfile* myfile myfile2 myfile3 |
Per elencare i nomi dei file contenenti “file”, digitare:
$ lsf *file* myfile myfile2 myfile3 yourfile |
Il
jolly ? |
 |
Il jolly ? significa “ogni singolo carattere”.
Sebbene probabilmente non si userà il jolly ? così tanto come *, è tuttavia utile. Ad esempio, se si desidera
elencare soltanto i file che iniziano con myfile e terminano con un unico carattere aggiuntivo,
digitare:
$ lsf myfile? myfile2 myfile3 |
Il carattere jolly ? si abbina esattamente ad un carattere.
Pertanto, myfile non è comparso in questa lista perchè non
aveva un altro carattere alla fine.
Uso
del carattere jolly * con mv, cp e rm |
 |
I caratteri jolly sono spesso utili quando si desidera spostare
o copiare file multipli da una directory ad un’altra. Ad
esempio, supponiamo di avere due directory immediatamente sotto
la propria directory attuale, denominate new ed old e tali directory contengono i seguenti file:
$ lsf new myfile myfile2 lsf old myfile3 myfile4 |
Per spostare tutti i file dalla directory new nella directory old, digitare:
$ mv new/* old $ lsf new I file non si trovano più in new. lsf old myfile myfile2 myfile3 myfile4 Si trovano nella directory old. |
È possibile realizzare un’operazione simile
con il comando cp. Ad esempio, per copiare tutti i file da old a new, digitare:
Allo stesso modo, è possibile usare i caratteri jolly
con il comando rm. Ad esempio, per rimuovere tutti i file della
directory new, digitare:
Per
ulteriori informazioni...
Consultare la manpage regexp(5) per
le funzionalità generali di * e ?. Per le funzionalità aggiuntive correlate
alle singole shell: se si usa la shell POSIX, consultare la manpage sh-posix(1);
se si usa la shell C, consultare la manpage csh(1).