我正在开发一项选项,如果用户输入确切的标题和作者,则可以删除指定的行。
然而,我无法让它工作。
下面显示了我的函数内容。
fnRemoveBook()
{
echo"Title: "
read Title
echo"Author: "
read Author
if grep -Fqe "$Title:$Author" BookDB.txt; then
sed -i '/"$Title:$Author"/ d' BookDB.txt
echo "Book removed successfully!"
else
echo "Error! Book does not exist!"
fi
}
以下是BookDB的内容
Hello World:Andreas:10:5:2
Teaching:Mary Ann:50:23:5
在我输入标题为“Hello World”和作者为“Andreas”后,程序将能够进入循环并回显“书籍已成功删除”。
但是我检查了BookDB.txt文件,发现这一行尚未被删除,我想知道原因。
希望能在这里得到答案,因为我一直在互联网上进行研究,但目前还没有答案。
谢谢那些提供帮助的人! :)