Comparar dos directorios

Acá les dejo un script que hice en bash para comprar dos directorios, nada del otro mundo pero muy útil. Usa md5sum, no sé, espero les sirva.

#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
dir1=$1
dir2=$2
cd $dir1
find ./  -type f -exec md5sum {} \; > /mnt/virtual5/dir1
cd $dir2
find ./  -type f -exec md5sum {} \; > /mnt/virtual5/dir2
echo "archivos que estan en $dir1 y no en $dir2"
for i in $(cat /mnt/virtual5/dir1 | awk '{print $1}'); do  
    if ! grep -lq $i /mnt/virtual5/dir2; then 
        archivo=$(cat /mnt/virtual5/dir1 | grep $i |cut -c36-);
	archpath="$dir1/$archivo"
	stat -c "%y %n" $"$archpath";
    fi; 
done;

echo "archivos que estan en $dir2 y no en $dir1"
for i in $(cat /mnt/virtual5/dir2 | awk '{print $1}'); do  
    if ! grep -lq $i /mnt/virtual5/dir1; then 
        archivo=$(cat /mnt/virtual5/dir2 | grep $i |cut -c36-);
	archpath="$dir2/$archivo"
	stat -c "%y %n" $"$archpath";
    fi; 
done;

IFS=$SAVEIFS

Tags: , , , ,

Comments are closed.