Visit

24 July 2011

script per rinominare i file con spazi

script bash per rinominare i file con spazi

#! /bin/bash
# Rinomina
#
# Sostituisce gli spazi nei nomi dei file presenti nella directory
#+ con degli underscore.

UNO=1 # Per gestire correttamente il singolare/plurale
#+ (vedi oltre).
numero=0 # Per contare i file effettivamente rinominati.
TROVATO=0 # Valore di ritorno in caso di successo.

for nomefile in * # Scorre i file della directory.
do
echo "$nomefile" | grep -q " " # Controlla se il nome del file
if [ $? -eq $TROVATO ] #+ contiene uno/degli spazio(i).
then
fnome=$nomefile # Sì, nomefile
#+ ha bisogno di una sistemata.
n=`echo $fnome | sed -e "s/ /_/g"` # Sostituisce lo spazio
#+ con un underscore.
mv "$fnome" "$n" # Rinomina.
let "numero += 1"
fi
done

if [ "$numero" -eq "$UNO" ] # Per una corretta grammatica.
then
echo "$numero file rinominato."
else
echo "$numero file rinominati."
fi

exit 0

# Erika, GNU General Public License
# link alla GPL license http://www.gnu.org/licenses/gpl.html

No comments:

Post a Comment