我正在研究一个选项,如果用户键入准确的标题和作者,它将能够删除指定的行.
但是,我将无法使其工作.
我的函数内容如下所示
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”作为作者之后,该程序将能够进入循环并成功回显已删除的Book.
但是我检查了BookDB.txt,该行尚未删除,我想知道为什么.
我希望能够在这里找到一些答案,因为我一直在互联网上进行研究,但目前仍然没有答案.
在此先感谢提供帮助的人!
标签:bash,shell,sed,linux
来源: https://codeday.me/bug/20191201/2083638.html