if you have zsh, try this:
(recursive, lists all files that have no link to them)
#!/usr/bin/env zsh
for i in /path/to/ftp/**/*; do
grep -qi 'href="$i"' /path/to/html/**/*.html && echo $i
done
also I would recommend nrgrep for all grep'ing purposes, it does approx
matching, which is really useful to catch spelling mistakes (insertions,
deletions, substitutions, transpositions), unless you know that nothing
could have possibly been mistyped ;-) I'm trying not to use regular grep
anymore.
http://www.dcc.uchile.cl/~gnavarro/pubcode/
Dave