[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rinominare ricorsivamente directory



Hi


> Alle ore 17:34, giovedì 05 luglio 2001, Thor ha scritto:
> > 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
>
>
> Mi spiace, ma non funzia, :-(
>
> qui sotto una parte del MV:
>
> mv "./?TEST%20MANAGERS/Trent%20Olivier" "./:a5TEST MANAGERS/Trent
> Olivier"
> mv "./?TEST%20MANAGERS/Josh%20Nie" "./:a5TEST MANAGERS/Josh Nie"
> mv "./?TEST%20MANAGERS/Eddie%20Wen" "./:a5TEST MANAGERS/Eddie Wen"
> mv "./?TEST%20MANAGERS/Dan%20O'Connel" "./:a5TEST MANAGERS/Dan O'Connel"
> mv "./?TEST%20MANAGERS/Dan%20Forzano" "./:a5TEST MANAGERS/Dan Forzano"
> mv "./?TEST%20MANAGERS/Adrian%20Keith" "./:a5TEST MANAGERS/Adrian Keith"
>
> come vedi lo script  ha cambiato i nomi delle directory, e sono in
> ordine inverso, ma non basta, infatti dovrebbe essere :

ops ;-)

sorry l'ho guardato 30 secondi e patchato in
5 (senza provare) i risultati si vedono ;-)

riposto qui' il tuo script corretto (spero ma non lo provo
perche' non ho voglia di stare a creare
n directory ed n file per la simulazione :) )

fammi sapere
ciao
---
;---+---;
bye |
bye |hor

-------------------------------------

#!/bin/bash

for FILE in `find . -name "*" -print | sort -r | tr " " "}"`;
# cerco tutti i file e dir e cambio lo spazio con }

do
FN=`basename $FILE | sed s/\%20/\}/g | tr  "\200" "%" \
 | sed s/%/:a5/g`
FILE2=`dirname $FILE`
FILE2=${FILE2}${FN}
# 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







Reply to: