token* is the best. I also have this useful script in my bashrc.
its just an extended version of this.
[[ $(md5sum < file1) == $(md5sum < file2) ]]
so you can just give it two files as its argument and it returns 0 if they are
the same. -v for verbose
md5() {
local v x y;
[[ $1 == -v ]] && [[ $# == 3 ]] && { v=true; shift; }
if [[ $# != 2 ]]; then
[[ $v ]] && echo Error: need 2 arguments.
return 2
fi
if [[ $v ]]; then
x=$(md5sum < "$1" ) || return 2
y=$(md5sum < "$2" ) || return 2
else
{ x=$(md5sum < "$1" ) ;} &> /dev/null || return 2
{ y=$(md5sum < "$2" ) ;} &> /dev/null || return 2
fi
if [[ $x == $y ]]; then
[[ $v ]] && echo Same.
return 0
else
[[ $v ]] && echo Different.
return 1
fi
}
- Ian