首页 > 解决方案 > Sed:从 txt 文件中删除行?

问题描述

如何从文本文件中删除行“name['todo']['remove'] = 3456”?

[test.txt]
name['myname']['test'] = 12
name['todo']['remove'] = 3456
name['todo']['remove']['inspection'] = 34

我目前的方法没有按预期工作。该行仍在我的文件中。

sed -i "name\['todo'\]\['remove'\]" test.txt

错误消息是“sed: -e expression #1, char 2: extra characters after command”

标签: sed

解决方案


一个简单的grep -vF方法在这里可以正常工作,它使用固定字符串进行匹配,而不需要转义特殊的正则表达式字符:

grep -ivF "name['todo']['remove'] " file

[test.txt]
name['myname']['test'] = 12
name['todo']['remove']['inspection'] = 34

推荐阅读