#!/bin/sh 
# ArenaHome Agosto 2011
# script che legge a partire dalla dir corrente
# e trasforma una serie di caratteri speciali contenuti 
# nel nome file nel carattere underline

for FILE in `find . -type f|awk -F"/" '{print $NF}'|sed s/' '/#/g`
	do
						##  NOME=`echo $FILE|cut -d"." -f1`
		EXT=`echo $FILE|awk -F"." '{print $NF}'`  ##carica a partire dall'ultimo punto
						##	echo "EXT: $EXT"
		##EXT=`echo $FILE|cut -d"." -f2`         ## carica a partire dal secondo punto
		FILE_ORIG=`echo $FILE|sed s/#/' '/g` ###serve per move
					        ## echo "FILE_ORIG: $FILE_ORIG"
		NOME=`echo $FILE|sed s/$EXT//g` ## carica escludendo l'estensione
						##echo "NOME senza estensione1: $NOME"
		NOME=`echo $NOME|sed 's/\.//g'` ## carica escludendo i punti
						##	echo "NOME senza estensione2: $NOME"
		
					## gestione dei caratteri speciali	
		for CHAR in '-' '_' ';' '(' ')' ',' '{' '}' '"' "'" '&' '!' '%' '~' # si possono aggiungere altri caratteri speciali
			do
				NOME=`echo $NOME|sed s/\$CHAR/#/g|sed s/'\['/#/g|sed s/'\]'/#/g |sed s/'\à'/#/g|sed s/'\é'/#/g|sed s/'\è'/#/g|sed s/'\ò'/#/g|sed s/'\ù'/#/g|sed s/'\ì'/#/g`
	
					## gestione dello spazio
				NOME=`echo $NOME|sed 's/\ /#/g'`
					##			echo "NOME senza estensione3 spazio: $NOME"
					## gestione del $
				NOME=`echo $NOME|sed 's/\\$/#/g'`
					##			echo "NOME senza estensione4 $: $NOME"
					## gestione del ?
				interr=?
				NOME=`echo $NOME|sed 's/\'${interr}'/#/g'`
			done
				ext=`echo $EXT|tr [:upper:] [:lower:]`  ##trasformo da up a low case
				
				if [ "$ext" = "jpg" -o "$ext" = "gif" -o "$ext" = "avi" -o "$ext" = "mp3" -o "$ext" = "mov" -o "$ext" = "zip" -o "$ext" = "mid" -o "$ext" = "wma" -o "$ext" = "mpg" -o "$ext" = "tiff" -o "$ext" = "txt" -o "$ext" = "doc" -o "$ext" = "rmi" -o "$ext" = "RMI" -o "$ext" = "kar" -o "$ext" = "KAR" -o "$ext" = "TXT" ]
					then
						FILE_OUT=`echo $NOME|sed s/#/' '/g`
						FILE_OUT=`echo $FILE_OUT|awk '{for (c=1; c<=NF; c++) if (c!=NF) {str=str$c"_"} else {str=str$c}} END {print str}'`
					##	echo "NOME fine1: $FILE_OUT"
						FILE_OUT="$FILE_OUT.$ext"
					##	echo "NOME fine2: $FILE_OUT"
						mv -i "$FILE_ORIG" "$FILE_OUT"
						fi
					done
