Per iterare su un elenco di file, il modo più intuitivo è quello di usare il costrutto for della bash. Ad esempio se volessimo stampare a video tutti i file php nella cartella corrente potremmo usare:
for i in `find ./ -name "*.php"` ; do echo "PHP: $i" ; done
In realtà tale comando non si comporta come vorremmo se ci sono dei file contenenti uno spazio. Questo perchè il costrutto for si aspetta un elenco di stringhe separate dallo spazio. In alternativa al comando precende, si può sempre usare il seguente comando (anche se non ci sono spazi nei nomi dei file):
find ./ -name "*.php" | while read i; do echo "PHP: $i" ; done
mercoledì 14 maggio 2008
Iscriviti a:
Post (Atom)