FindFilesDuplicated Python
FindFilesDuplicated Python
/bin/bash
#fichero que solo tiene el path de cada archivo para que lo use el script .py
(awk '{$1=""; print $0}' /tmp/temporal/listTamanoPath.txt) >
/tmp/temporal/listPath.txt
#muestra los md5 que pertenecen a los ficheros q estan repetidos o duplicados
partiendo de un listado existente
(awk '{print $1}' /tmp/temporal/listMD5.txt | sort | uniq -d >
/tmp/temporal/listMD5-Duplicados.txt)
# ------------------------
rutaAB(){
echo 'ingrese ruta 1: '
read ruta1
echo 'ingrese ruta 2: '
read ruta2
echo
#encuentra el tamaño de cada fichero y el path de cada fichero
find "$ruta1" -type f -exec ls -lhpR {} \; | awk '{$1=$2=$3=$4=$6=$7=$8=""; print
$0}' > /tmp/temporal/listTamanoPathA.txt
sleep 1
#fichero que solo tiene el path de cada archivo para que lo use el script .py
(awk '{$1=""; print $0}' /tmp/temporal/listTamanoPathA.txt) >
/tmp/temporal/listPathA.txt
#muestra los md5 que pertenecen a los ficheros q estan repetidos o duplicados
partiendo de un listado existente
#$ awk '{print $1}' fileMD5.txt | sort | uniq -d ;
#fichero que solo tiene el path de cada archivo para que lo use el script .py
(awk '{$1=""; print $0}' /tmp/temporal/listTamanoPathB.txt) >
/tmp/temporal/listPathB.txt
#muestra los md5 que pertenecen a los ficheros q estan repetidos o duplicados
partiendo de un listado existente
#$ awk '{print $1}' fileMD5.txt | sort | uniq -d ;
cp /tmp/temporal/listMD5AB-Duplicados.txt /tmp/temporal/listMD5-Duplicados.txt
cp /tmp/temporal/listMD5AB.txt /tmp/temporal/listMD5.txt
cp /tmp/temporal/listMD5TamanoPathAB.txt /tmp/temporal/listMD5TamanoPath.txt
}
rm -R /tmp/temporal/filtrarMD5Duplicados.py
echo '#! /usr/bin/env python' >> /tmp/temporal/filtrarMD5Duplicados.py
echo '# -*- coding: utf-8 -*-' >> /tmp/temporal/filtrarMD5Duplicados.py
echo '#Deric 13/08/2019' >> /tmp/temporal/filtrarMD5Duplicados.py
echo 'import os' >> /tmp/temporal/filtrarMD5Duplicados.py
echo '#os.system("clear")' >> /tmp/temporal/filtrarMD5Duplicados.py
echo '#este fichero python compara un listado de MD5 contra un listado de MD5
que se encuentran repetidos, y por cada coincidencia verdadera concatena el path de
ese MD5.' >> /tmp/temporal/filtrarMD5Duplicados.py
echo '#luego que genera un listado "PathRepetidos.txt" que es donde se
compara las /rutas/fichero, las lineas que se conserven en el fichero es para su
eliminacion apoyandose con el comando rm -R' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo '# coloca el contenido de un archivo , linea por linea en cada elemento
de array' >> /tmp/temporal/filtrarMD5Duplicados.py
echo 'pfile1=open("/tmp/temporal/listMD5-Duplicados.txt","r")' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo 'pfile2=open("/tmp/temporal/listMD5.txt","r")' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo 'pfile3=open("/tmp/temporal/listMD5TamanoPath.txt","r")' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo 'ResultadoTemporal=open("/tmp/temporal/ResultadoTemporal.txt","w")'
>> /tmp/temporal/filtrarMD5Duplicados.py
echo 'listMD5Duplicados=pfile1.readlines()' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo 'listMD5=pfile2.readlines()' >> /tmp/temporal/filtrarMD5Duplicados.py
echo 'listMD5TamanoPath=pfile3.readlines()' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo '#listRep=pfile2.readlines()' >> /tmp/temporal/filtrarMD5Duplicados.py
echo '#listIndice=pfile4.readlines()' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo 'listIndice=[]' >> /tmp/temporal/filtrarMD5Duplicados.py
echo 'for j in listMD5Duplicados:' >> /tmp/temporal/filtrarMD5Duplicados.py
echo ' var=0' >> /tmp/temporal/filtrarMD5Duplicados.py
echo ' for i in listMD5:' >> /tmp/temporal/filtrarMD5Duplicados.py
echo ' if (i == j ):' >> /tmp/temporal/filtrarMD5Duplicados.py
# echo ' print "i es: "+i' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo ' # metodo index para obtener la posicion de un
elemento q exista en un array' >> /tmp/temporal/filtrarMD5Duplicados.py
# echo ' indiceA=listMD5.index(i)' >>
/tmp/temporal/filtrarMD5Duplicados.py
# echo ' print indiceA' >>
/tmp/temporal/filtrarMD5Duplicados.py
echo ' # alimenta a un array de tamano indefinido y
conservando lo que contiene, partiendo de otro array ya existente y accediendo a
algun indice especifico' >> /tmp/temporal/filtrarMD5Duplicados.py
echo ' # almacena lo que contiene un array en proceso de
llenado a un fichero .txt' >> /tmp/temporal/filtrarMD5Duplicados.py
echo ' ResultadoTemporal.write(listMD5TamanoPath[var])'
>> /tmp/temporal/filtrarMD5Duplicados.py
echo ' var=var+1'>> /tmp/temporal/filtrarMD5Duplicados.py
echo 'pfile1.close()' >> /tmp/temporal/filtrarMD5Duplicados.py
echo 'pfile2.close()' >> /tmp/temporal/filtrarMD5Duplicados.py
echo 'pfile3.close()' >> /tmp/temporal/filtrarMD5Duplicados.py
echo 'ResultadoTemporal.close()' >> /tmp/temporal/filtrarMD5Duplicados.py
chmod +x /tmp/temporal/filtrarMD5Duplicados.py
}
#-------------------------------------------------------------------------------
#------------------
/tmp/temporal/filtrarMD5Duplicados.py
echo "listo"