duprm (TCL)

raspi 24.02.04 12:21

Tuhoaa tiedostojen duplikaatit käyttäen apuna md5:sta

 Tekstiversio  Arvo: 1 (1 ääntä)  Äänestä: +  -
#!/usr/local/bin/tclsh8.3
#^tuohon mistä tclsh:si löytyy
#
# tuhoaa tiedostojen duplikaatit
# käyttää md5:sta (man md5)
# testattu freebsd:llä
# käyttö: md5 <tiedosto(t)> | ./duprm.tcl
# käyttöesimerkki: /sbin/md5 ./backup/* | ./duprm.tcl
# Pekka "raspi" Järvinen 2004

fconfigure stdin -buffering line

while {![eof stdin]} {
  if {[regexp -- {^MD5 \((.+?)\) = ([0-9a-f]+)$} [gets stdin] -> fname fmd]} {
    lappend fileinfo($fmd) $fname
  }
}

if {[array size fileinfo] > 1} {
  foreach finfo [array names fileinfo] {
    if {[llength $fileinfo($finfo)] > 1} {
      foreach rmname [lrange $fileinfo($finfo) 1 end] {
        if {[file isfile $rmname]} {
          eval file delete $rmname
        }
      }
    }
  }
}

empty 15:43 24.2.04 
hyödyllinen