#!/bin/csh
####################################################################
# Script: findtwin
# By Bill St. John
# Date first completed: 1999.10.26
#
# This script outputs a list (file findtwinOUT) of identical files
# within a directory and its subdirectories
#
# For example, if Pat Smith wants to check for duplicate files in
# the home directory, Pat would enter at the command prompt:
#
# $ findtwin /home/smithj
#
# ... and then hit <Enter>
#
# Bugs:
# Besides being slow, findtwin has no error handling and outputs a
# lot of error messages.
# Running it in the background is not advisable -- doing so could
# fill up your mail directory
#
# Modified by Date Reason
# ----------- -------- --------------------------------------------
#
#####################################################################
echo =========================================
echo Results may be found in file findtwinOUT
echo =========================================
rm findtwinOUT
find $1 -type d -print | sort -u > findtwindirs1
@ C1 = 0
while (${C1} <= `wc -l findtwindirs1 | sed 's/ .*$//'`)
@ C1++
@ C2 = ${C1}
set LYNE1 = "`sed -n ${C1}p findtwindirs1`"
echo $LYNE1
while (${C2} <= 112)
@ C2++
diff -s $LYNE1 `sed -n ${C2}p findtwindirs1` | grep -i "identical" | sed 's/^Files //' | sed
's/ and / /' | sed 's/ are identical//' | sed 's/\/Archive\/fossils\/harbor\///g' >> findtwinOUT
end
end
echo =========================================
echo Results may be found in file findtwinOUT
echo =========================================