odstraneni duplicitnich souboru
Ing. Vlastimil Pospíchal
vpospichal na tiscali.cz
Pátek Březen 14 20:12:44 CET 2003
On Fri, Mar 14, 2003 at 01:56:01PM +0100, damned wrote:
> (ani nevim proc :) se mi tu postupem casu vytvorila jista kosata
> adresarova struktura se spustou duplicitnich souboru. hledal jsem
> skriptik, ktery by mi je pomohl odstranit.
> z konference jsem vycucal toto:
>
> find "$@" -type f -exec md5sum '{}' ';' >> ALL
> cat ALL | sort > SUMS
> cut -f 1 -d ' ' SUMS | uniq -d > DUPL
> join SUMS DUPL
>
> vystupem je seznam _vsech_ souboru duplicitnich md5 digestu:
>
> 33b033adee5f4aa0b676b94c43de6e30 ./001/original.tar.gz
> 33b033adee5f4aa0b676b94c43de6e30 ./003/kopie.tar.gz
> 33b033adee5f4aa0b676b94c43de6e30 ./012/jina_kopie.tar.gz
> dd35ac33232aa51feefcf85ac563e7a4 ./original.tar.bz2
> dd35ac33232aa51feefcf85ac563e7a4 ./kopie.tar.gz
> ...
>
> stale se mi vsak nedari najit kombinaci prikazu jimiz bych z tohoto
> seznamu nejdrive odstranil prvni radek z kazdeho bloku stejnych
> md5sum-u a nasledne vyextrahoval pouze cesty k duplicitnim souborum.
> tedy abych ziskal seznam, ktery pak budu moci predhodit napr. programu
> 'rm', 'mv', a pod. :
>
> ./003/kopie.tar.gz
> ./012/jina_kopie.tar.gz
> ./kopie.tar.gz
>
> diky za vas cas,
> cezi
#!/bin/sh
old="xxxxxxxxxxxx"
find . -type f -exec md5sum '{}' ';' | sort |\
while read md5 nazev; do
test "$old" == "$md5" && rm "$nazev"
old="$md5"
done
Kit
--
Ing. Vlastimil Pospíchal
http://www.hoteldrnholec.cz
Další informace o konferenci Linux