1 |
token* is the best. I also have this useful script in my bashrc. |
2 |
|
3 |
its just an extended version of this. |
4 |
[[ $(md5sum < file1) == $(md5sum < file2) ]] |
5 |
|
6 |
so you can just give it two files as its argument and it returns 0 if they are |
7 |
the same. -v for verbose |
8 |
|
9 |
md5() { |
10 |
local v x y; |
11 |
[[ $1 == -v ]] && [[ $# == 3 ]] && { v=true; shift; } |
12 |
if [[ $# != 2 ]]; then |
13 |
[[ $v ]] && echo Error: need 2 arguments. |
14 |
return 2 |
15 |
fi |
16 |
if [[ $v ]]; then |
17 |
x=$(md5sum < "$1" ) || return 2 |
18 |
y=$(md5sum < "$2" ) || return 2 |
19 |
else |
20 |
{ x=$(md5sum < "$1" ) ;} &> /dev/null || return 2 |
21 |
{ y=$(md5sum < "$2" ) ;} &> /dev/null || return 2 |
22 |
fi |
23 |
if [[ $x == $y ]]; then |
24 |
[[ $v ]] && echo Same. |
25 |
return 0 |
26 |
else |
27 |
[[ $v ]] && echo Different. |
28 |
return 1 |
29 |
fi |
30 |
} |
31 |
|
32 |
- Ian |