微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-删除文本文件中的特定行

我正在研究一个选项,如果用户键入准确的标题和作者,它将能够删除指定的行.

但是,我将无法使其工作.

我的函数内容如下所示

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,该行尚未删除,我想知道为什么.

我希望能够在这里找到一些答案,因为我一直在互联网上进行研究,但目前仍然没有答案.

在此先感谢提供帮助的人!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐