拡張子がtxtのファイルから指定文字列を含むファイルを検索

#!/bin/sh
#findText.sh [-d Directory] Searstring

OPTIONS="d:"
FINDDIR="."
TMPDIR="/tmp/"
TMPFILE="findText.tmp"

DATE="/bin/date"
FIND="/usr/bin/find"
GREP="/usr/bin/grep"
WC="/usr/bin/wc -l"
CAT="/bin/cat"
RM="/bin/rm -f"

#オプションの処理
while getopts $OPTIONS opt $@ ;do
    case "$opt" in
        d)
            if [ -d $OPTARG ]; then
                FINDDIR=$OPTARG
            else
                echo "指定したディレクトリが存在しません" 1>&2
                exit -1
            fi
            ;;
        *)  exit -1 ;;
    esac
done

#検索文字列オプションの処理
shift $(( $OPTIND -1 ))
if [ $# -eq 0 ]; then
    echo "検索文字列が指定されていません" 1>&2
    exit -1 
elif [ $# -eq 1 ]; then
    SEARCHSTRING="$1"
else
    echo "オプションが多いです" 1>&2
    exit -1
fi

#メイン処理
DATETIME=$(LAND=C;$DATE "+%Y-%m-%d-%X")
TMPFILE1="${TMPDIR}${TMPFILE}1.$DATETIME"
TMPFILE2="${TMPDIR}${TMPFILE}2.$DATETIME"

$FIND $FINDDIR -name "*.txt" > "$TMPFILE1" 

while read filename ; do
    if [ -f "$filename" ]; then
        "$GREP" "$SEARCHSTRING" "$filename" > "$TMPFILE2"
        wc1=$($CAT "$TMPFILE2" | $WC)
        wc2="${wc1// }"
        if [ 0 -lt $wc1 ]; then
            echo -e "ファイル ${filename} には文字列 ${SEARCHSTRING} \
を含む行が${wc1}行あります"
        fi
    fi
done < "$TMPFILE1"

if [ -f "$TMPFILE1" ]; then
    $RM "$TMPFILE1"
fi
if [ -f "$TMPFILE2" ]; then
    $RM "$TMPFILE2"
fi