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

Reply via email to