[Primipassi] SH

HDD accadidi@katamail.com
Lun 3 Giu 2002 21:56:57 CEST


ciao Francesco i file mi sono arrivati tutti e 2....ma non capisco come
mai non riesco a vedere i miei  post.....grazie cmq...!

Ma torniamo al problema iniziale.....nel frattanto mi sono arrotolato le
maniche e sono riuscito a fare qualcosina....ma ho bisogno di un aiuto
per perfezionare questi script (d'altra parte non posso sperare di
conoscere da subito tutti i comandi :))))
ricapitoliamo il problema....un miliardo di file sparsi per l'hard disk
e la necessita' di ordinarli.

qui sotto lo script che ho scritto....unico problemino : tenta di
spostarmi file gia' spostati...che ovviamente non trova.
+ o meno fuziona cosi:
presupponiamo di avere in una cartella i seguenti file:

pippo.125.tga
pippo.127.tga
elwood.258.iff
elwood.268.iff
aaiw.005.jpg
aaiw.007.jpg
lcarrol.248.gif
lcarrol.249.gif

gli faccio listare la dir e metto il valore in $file
per ogni oggetto trovato crea una cartella con [estensione]_nomefile
tipo: [tga]_pippo
e sposta dentro tutti i file che si chiamano pippo*.tga
e qui sta il problema ....quando lista i file , sono presenti TUTTI ma
al secondo giro del for....sono gia' stati spostati e la dir gia' esiste
e quindi mi da un errore per ogni file che non trova.....non che non
vada....solo che mi fa "sporco" e sicuramente lo rallenta.


##############################################################################
#!/bin/sh
#oim Ordina IMmagini uso ./oim dir
file=`ls $1`
#inizia il ciclo for
for s in $file
do
#prende l'estensione , il nome e crea il nome della dir
      extension=${s##*.}
      filename=${s%.*.*}
      dirname=$1"/""["$extension"]_"$filename
#crea la directory
      mkdir $dirname
#muove i file dentro la directory
      mv $1"/"$filename*.$extension $dirname
done
ls
###############################################################################

qui invece un altro scriptino , magari solo da aggiustare......per
ripulire le dir dai file tmp (mi occupano 1.6 Mb l'uno e ne ho a decine)

###################################################################################
#!/bin/sh
#DELTEMP pulisce le cartelle dai file tmp uso ./deltemp dir
folder=$1
deltmp=`find $folder |grep _tmp`
rm $deltmp
####################################################################################

chiunque abbia voglia  di darci un occhio.... GRAZIE!

Lorenzo.






Maggiori informazioni sulla lista primipassi