i=0
find $* -type f -a -print | \
sed -e 's/.*\/\(.*\)$/\1 &/' | \
sort -u | \
while read name$i path$i ; do
	if [ $name0 = `eval echo \\$name$i` ] ; then
		j=0
		while [ $j != $i ] ; do
			if cmp -s `eval echo \\$path$i` `eval echo \\$path$j` ; then
				echo rm -f `eval echo \\$path$i`
				echo ln `eval echo \\$path$j` `eval echo \\$path$i`
				i=`expr $i - 1`
				j=$i
			else
				j=`expr $j + 1`
			fi
		done
		i=`expr $i + 1`
	else
		name0=`eval echo \\$name$i`
		path0=`eval echo \\$path$i`
		i=1
	fi
done
