#!/bin/bash
FIRST=$1
SECOND=$2
if [[ ! -d $FIRST ]] || [[ ! -d $SECOND ]]
then
echo "Syntax: $0 dir1 dir2"
exit
fi
#~ echo first $FIRST second $SECOND
for NAME in `cd $FIRST && find -noleaf`
do
if [[ $NAME = "." ]]
then
continue
fi
if [[ -e $FIRST/$NAME ]] && [[ ! -e $SECOND/$NAME ]]
then
echo -n "$FIRST/$NAME doesn't exist in $SECOND continue? (Y/n) "
read GOON
if [[ $GOON = "n" ]]
then
exit
fi
continue
fi
if [[ -d $FIRST/$NAME ]] && [[ ! -d $SECOND/$NAME ]]
then
echo "$FIRST/$NAME is a directory but $SECOND/$NAME is not"
exit
elif [[ ! -d $FIRST/$NAME ]] && [[ ! -d $SECOND/$NAME ]]
then
echo -n "Checking $NAME: "
if [[ `md5sum $FIRST/$NAME | cut -f 1 -d ' '` != `md5sum $SECOND/$NAME | cut -f 1 -d ' '` ]]
then
echo -n "Files are not the same, continue? (y/n) "
read GOON
if [[ $GOON = "n" ]]
then
exit
fi
else
echo "OK."
fi
else
echo "Skipped $NAME"
fi
done
syntax highlighted by Code2HTML, v. 0.9.1