[PLUTO-help] due dritte sul mio metodo bash per la ricerca dei doppioni

exameron exameron a yahoo.it
Lun 12 Ott 2009 18:47:08 CEST


un saluto a tutti!

vorrei il vostro parere (ed eventuali consigli/correzioni) sul metodo 
che utilizzo per scovare e cancellare i doppioni dei file.

premetto che il mio metodo bash presuppone due directory: "dir_1" e 
"dir_2"... e si presume che "dir_2" contenga dei doppioni da scovare.
ecco dunque come opero (e in genere opero da amministratore):

1) creo una lista di tutti i file da processare:
    find /root_directory/ | sort > lista_1.txt
    (per "root_directory" s'intende il percorso assoluto della directory 
che contiene "dir_1" e "dir_2")

2) eseguo il calcolo md5 su ciascun file e salvo i risultati:
    cat lista_1.txt | while read nomefile ; do md5sum "$nomefile" ; done 
| sort > lista_2.txt

3) individuo i file dal contenuto identico e salvo i risultati:
    cat lista_2.txt | uniq -w 32 -D > lista_3.txt

4) seleziono le linee relative alla directory che intendo processare (ad 
es. "dir_2")... e salvo i risultati:
    cat lista_3.txt | grep "percorso_dir2" > lista_4.txt

5) individuo i SOLI percorsi assoluti dei doppini rilevati... e salvo:
    cat lista_4.txt | cut -b 35-1000 > lista_5.txt
    (il valore "1000" č un escamotage per beccare tutto il resto della 
riga, ma credo sia possibile ometterlo ai medesimi fini)

6) infine elimino i doppioni:
    cat lista_5.txt5 | while read nomefile ; do rm "$nomefile" ; done

...detto questo, c'č qualcosa che potrei modificare/affinare?

inoltre, come posso modificare il punto 6 in modo che anzichč cancellare 
i doppioni li trasformi tutti in file da 0 byte (in sostanza voglio 
mantenere i doppioni soltanto come dei file inconsistenti, privi di 
contenuto, in modo da guadagnare ugualmente spazio ed in pių mantenere 
una traccia di quelli che una volta erano doppioni)? forse usando "touch"?

grazie!



More information about the pluto-help mailing list