find . -type f | while read file; do sum=$(cat $file | md5); echo $sum $file ; done | sort > /tmp/find_dup~; cat /tmp/find_dup~ | cut -d " " -f 1 | uniq -d | while read sum; do cat /tmp/find_dup~ | grep $sum; done
注意:不同平台计算md5校验和的命令有所不同。
这个命令有一个不完美的地方,为了避免对文件做第二次计算校验和,中间还使用了一个临时文件。