我有一个 BookDB.txt 文件,它以下列方式存储信息:
C++ for dummies:Jared:10.67:4:5
Java for dummies:David:10.45:3:6
PHP for dummies:Sarah:10.47:2:7
假设在运行时,scipt 要求用户提供他想要删除的标题。然后将其存储在 TITLE 变量中。然后如何删除包含相关字符串的行?我尝试了以下命令但无济于事:
sed '/$TITLE/' BookDB.txt >> /dev/null
最佳答案
例如你可以这样做:
$ title="C++ for dummies"
$ sed -i "/$title/d" a
$ cat a
**Java for dummies**:David:10.45:3:6
**PHP for dummies**:Sarah:10.47:2:7
注意几点:
- sed 中需要双引号来扩展变量。否则,它将查找固定字符串“$title”。
- 使用
-i
进行就地替换,以便在执行 sed 后更新文件。 d
是指示sed
您要删除此类匹配行的方式。
关于string - 如何从文件中删除包含特定字符串的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24595025/