Hi [...] > > 1) Aggiungi un ciclo while esterno che riesegue il tuo ciclo controllando > > l'uscita > > di un flag. Dopo aver mosso una directory imposta il flag a true ed esci dal > > ciclo interno. > > Se non hai capito quello che intendo posta il tuo programmino che ti faccio > > vedere ;-) > > > visto che lo chiedi cosí gentilmente..... :-) > > qui lo script > > ------------------------------------- > > #!/bin/bash > > for FILE in `find . -name "*" -print | tr " " "}"`;
cambia la riga sopra in for FILE in `find . -name "*" -print | sort -r | tr " " "}"`; > # cerco tutti i file e dir e cambio lo spazio con } > > do FILE2=`echo "$FILE" | sed s/\%20/\}/g | tr "\200" "%" \ > | sed s/%/:a5/g`; > # qui sostuisco %20 con }, cambio il carattere \200 > # con %, infine % con il carattere ":a5", assegnando il tutto > # alla variabile $FILE2 > > echo "$FILE" "$FILE2" > # qui per controllare a video che vada tutto bene. > > echo "mv `echo $FILE | tr "}" " " | tr "\200" "?"` \ > \"`echo "$FILE2" | tr "}" " " | tr "a" "e"`\"" >> MV; > # nella variabile $FILE riporto a spazio il carattere }, > # cambio \200 con ? (in modo che la shell possa riconoserlo) > # In $FILE2 riporto a spazio } e copio il tutto in MV > > done > > chmod 755 MV > ./MV oppure al posto della modifica sopra, dato che scrivi un file, il sort lo puoi anche fare alla fine cambiando le ultime 4 righe con le seguenti echo "mv `echo $FILE | tr "}" " " | tr "\200" "?"` \ \"`echo "$FILE2" | tr "}" " " | tr "a" "e"`\"" >> MV1; done sort -r MV1 >MV chmod 755 MV ./MV preferisco comunque la prima modifica anche perche' puoi evitare di passare per un file di appoggio :P --- ;---+---; bye | bye |hor