Bash scripting - espansioni non quotabili: differenze tra le versioni

m
rimosso template autori
m (rimosso template autori)
Riga 79: Riga 79:
* <code>./*.[tT][xX][tT]</code> espande a tutti i file con estensione txt (ignorando maiuscole e minuscole);
* <code>./*.[tT][xX][tT]</code> espande a tutti i file con estensione txt (ignorando maiuscole e minuscole);
* <code>./.[!.]*</code> espande a tutti i file nascosti di almeno due caratteri in cui il secondo non è un punto (non espande a '''.''' e '''..''', ma nemmeno a possibili file nascosti inizianti con '''..''');
* <code>./.[!.]*</code> espande a tutti i file nascosti di almeno due caratteri in cui il secondo non è un punto (non espande a '''.''' e '''..''', ma nemmeno a possibili file nascosti inizianti con '''..''');
* <code>./..?*</code> espande a tutti i file nascosti di almeno tre caratteri in cui il secondo non è un punto (tutti i file nascosti saltati dal precedente, ma sempre escludendo '''.''' e '''..''');
* <code>./..?*</code> espande a tutti i file nascosti di almeno tre caratteri in cui il secondo è un punto (tutti i file nascosti saltati dal precedente, ma sempre escludendo '''.''' e '''..''');
* <code>./.[!.]* ./..?*</code> espande a tutti i file nascosti, esclusi '''.''' e '''..''' (''POSIX'').
* <code>./.[!.]* ./..?*</code> espande a tutti i file nascosti, esclusi '''.''' e '''..''' (''POSIX'').


Riga 124: Riga 124:


===Cambiare i risultati dell'espansione===
===Cambiare i risultati dell'espansione===
Il comportamento di default dell'espansione può essere cambiato in bash (non ''POSIX''), tramite <code>shopt -s</code>:
Il comportamento di default dell'espansione può essere cambiato in bash (non ''POSIX''), tramite <code>shopt -s</code> (''set''):
* '''nullglob''' espande a "niente" se non trova nessun file con un dato pattern, rendendo superfluo il controllo sull'esistenza;
* '''nullglob''' espande a "niente" se non trova nessun file con un dato pattern, rendendo superfluo il controllo sull'esistenza;
* '''dotglob''' espande ai file nascosti (ma non a '''.''' e '''..''');
* '''dotglob''' espande ai file nascosti (ma non a '''.''' e '''..''');
Riga 135: Riga 135:
done
done
</pre>
</pre>
Per disabilitare un'opzione, ripristinando il default, si può utilizzare <code>shopt -u</code> (''unset'').


===Esempio: cambiare l'estensione ai file regolari===
===Esempio: cambiare l'estensione ai file regolari===
Riga 188: Riga 190:
for file in ./*.odt ./*.abw ./*.txt ./*.rtf ./*.doc; do
for file in ./*.odt ./*.abw ./*.txt ./*.rtf ./*.doc; do
</pre>
</pre>
{{Autori
|Autore=[[Utente:HAL 9000|HAL 9000]] 18:19, 22 lug 2014 (CEST)
}}


[[Categoria:Bash]][[Categoria:Bash_Scripting]]
[[Categoria:Bash]][[Categoria:Bash_Scripting]]
3 581

contributi