メモを削除する

#!/bin/sh
#memo_rm.sh

. f_askstring.sh
. f_chknum.sh
. f_chkdate.sh
. f_search_memo.sh
. f_readline.sh
. f_dispmemo.sh
. f_yesno.sh

MEMOFILE=memo.txt
MEMOTEMP=memo.tmp

while : ; do
    echo ""
    echo "*** Select search Menu ***"
    echo "1) Date."
    echo "2) Title."
    echo "3) Keyword."
    echo "4) -> Quit."
    echo ""
    echo -n "Select number : "
    read SELNUM
    check_num $SELNUM
    if [ $? -eq 0 ]; then
        if [ $SELNUM -ge 1 -a $SELNUM -le 4 ]; then
            break
        fi
    fi
done

if [ $SELNUM -eq 4 ]; then
    unset SELNUM
    echo "*** End."
    exit 0
fi

case $SELNUM in
    1) search_date ; ;;
    2) search_title ; ;;
    3) search_keyword ; ;;
esac

MAXCNT=$(cat ${MEMOTEMP} | wc -l)
if [ $MAXCNT -eq 0 ]; then
    echo "*** NO Data."
    exit 1
elif [ $MAXCNT -eq 1 ]; then
    read_line ${MEMOTEMP} 1
else
    echo ""
    echo "  NO.     Date    Title"
    echo "-------------------------------"
    cat -n ${MEMOTEMP} | cut -f 1,2,4

    while : ; do
        echo ""
        echo -n "Select Number : "
        read SELNUM
        check_num $SELNUM
        if [ $? -eq 0 ]; then
            if [ $SELNUM -ge 1 -a $SELNUM -le $MAXCNT ]; then
                break
            fi
        fi
    done
    read_line ${MEMOTEMP} ${SELNUM}
fi

MEMODATA=$_BUF
disp_memo $MEMODATA
yes_no "Remove memo?"
if [ $? -eq 0 ]; then
    grep -v "$MEMODATA" ${MEMOFILE} > ${MEMOTEMP}
    cat ${MEMOTEMP} > ${MEMOFILE}
    echo "Delete Momo Data."
fi

unset SELNUM MEMOFILE MEMOTEMP _STR KEYWORD MEMODATA _BUF
$ ./memo_rm.sh 

*** Select search Menu ***
1) Date.
2) Title.
3) Keyword.
4) -> Quit.

Select number : 2
Inpput Search Title : あい
-------------------------
Data  : 09/11/28 18:06
Title : あいうえお
Text  : かきくけこ
Remove memo? (yes/no) : y
Delete Momo Data.