我有以下文件:
- 测试.txt
其中包含:
3;/var/tmp/test.mp4
3;/var/tmp/test2.mp4
1;/var/tmp/test3.mp4
我需要删除例如“3;/var/tmp/test2.mp4“使用变量。
string="3;/var/tmp/test2.mp4"
sed -i '#$string#d' test.txt
没有抛出任何错误,但我似乎无法删除该行...如能得到任何帮助我将不胜感激。
谢谢!
答案1
/
如果与地址不同,则必须转义第一个分隔符。
此外,如果您使用变量,那么您必须将它们公开给 shell(使用双引号以避免出现空白问题)。
sed -i "\#$string#d" test.txt
或者
sed -i '\#'"$string"'#d' test.txt