comparing shadow files with real files

Hi

I need to compare shadow file sizes with their real file counterparts. If the shadow file size differs form the realfile size then it must send a mail. My problem is that our system has over 1600 shadowfiles in different directories, with different names. the only consistancy is the .sh file ext for shadowfiles.
Any easy way of doing this ?

Thanx
Terry

Are you sure the .sh files you found are not called .sh because they are shell scripts?
UNIX does not associate what a file is by the file extension like windows does.

You can get the "flavor" of a file with the file command

file myscript.sh

will return something like "Bourne Shell script" if it is a Bourne shell script, for example.

the .sh are application shadow files, this has been confirmed.

#/bin/ksh
# get the base real files
find /path/to/realfiles -name '*' -type f | \
while read file
do
      wc -c "$file"  | read size dummy
      echo "`basename $file` $size"
done > realfiles
# get all the shadow files
find / -type ! -name '/path/to/realfiles/*' |\
while read file
do
       wc -c "$file"  | read size dummy
       echo "`basename $file` $size  $file"
done > shadowfiles

# create a file badfiles that is a list of all the failures
awk '{
        FILENAME=="realfiles" {
                key[$1 $2]++
        }
        FILENAME=="shadowfiles" {
                if( !key[$1 $2]) { print $3 }
        }
      }'   realfiles shadowfiles > badfiles
# send email
cat badfiles | /usr/bin/mailx -s 'bad shadow files' somebody@someplace.com

Start with this code. Before you try mailing anything check both shadowfiles and realfiles and badfiles for content.

Thank you so much. Appreciate the help