next up previous contents
Next: altre sostituzioni Up: proprietà delle shell Previous: interruzione di processi   Contents

sostituzioni: nomi di file

Nei nomi di file si possono usare caratteri ``jolly'':



carattere jolly significato
* un qualunque numero di caratteri (anche nessuno)
? un solo carattere
[abc] un solo carattere tra quelli citati tra parentesi



Esempi:



*.c tutti i file che finiscono per .c
/etc/* tutti i file della directory /etc
capitolo?.txt capitolo1.txt capitolo2.txt ... (ma non capitolo23.txt)
[ab]* tutti file che cominciano per a o per b



La shell verifica quali file corrispondono all'espressione indicata e li sostituisce pedissequamente nella riga di comando, che poi esegue: differenza da DOS!

Esempio: supponiamo che la directory corrente contenga i file

lettera.doc 
memo.txt 
riassunto.doc 
CV.doc
  1. Il comando

    cp *.doc ~ /backup-dir
    si traduce nel comando

    cp lettera.doc riassunto.doc CV.doc ~ /backup-dir
    che copia i tre file nella directory ~ /backup-dir

  2. Attenzione! Il comando

    cp lettera.doc *.txt
diventa
cp lettera.doc memo.txt
che copia il primo file nel secondo, distruggendolo!

NOTA: in DOS, il comando

copy lettera.doc *.txt

significa invece

copy lettera.doc lettera.txt


next up previous contents
Next: altre sostituzioni Up: proprietà delle shell Previous: interruzione di processi   Contents
Giorgio F. Signorini 2002-12-18