#!/bin/bash
#  
# Delete all duplicates in list of files supplied as arguments,
# based on MD5 hash. Retains first copy of each file in
# alphanumerically sorted list of the input file names/paths.
#  Example: rmdup.sh *.tar.bz2
# The Free Thinker, 2022.

oldhash=
OLDIFS="$IFS"
IFS=$'\n'
for line in `md5sum $@ | sort -k 1,1 | uniq -D -w 32`
do
 hash=${line:0:32}
 if [ "$hash" = "$oldhash" ]
  then
   file="${line:34}"
   echo Deleting: "$file"
   rm "$file"
 fi
 oldhash=$hash
done
IFS="$OLDIFS"
