Processare i file di una intera directory

Autore: Fabio Di Matteo
Ultima revisione: 26/08/2009

In taluni casi ci e' utile processare i file di un'intera directory. Un esempio potrebbe essere quello di convertire un'intera directory di file mp4 in file mp3 rispettando i nomi dei file e cambiando l'estensione degli stessi.

#!/bin/sh
 
 
# Converte in mp3 tutti i file della directory corrente che hanno
# estensione .mp4
 
estensione=mp4
 
#Tolgo gli spazi dai nomi dei file
rename s/" "/_/g *
 
 
for files in *.$estensione; do
 
	#Converto tutti i file mp4 in mp3 tramite ffmpeg
	ffmpeg -i $files -f mp3 -ab 128 -ar 44100 -b 500 $files.mp3
 
	#Tolgo la estensione mp4 dai file appena convertiti in mp3
	rename s/'.'$estensione/''/g $files.mp3
 
done

Da notare che i nomi dei file verranno iterati tramite la variabile $files ed e' possibile processare altri tipi di file con altre estensioni cambiando il valore della variabile estensione

Es:

...
estensione=avi
...