sed - 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”
解决方案
一个简单的grep -vF
方法在这里可以正常工作,它使用固定字符串进行匹配,而不需要转义特殊的正则表达式字符:
grep -ivF "name['todo']['remove'] " file
[test.txt]
name['myname']['test'] = 12
name['todo']['remove']['inspection'] = 34
推荐阅读
- java - 使用嵌套类将 JSON 转换为 POJO
- c - 使用 scanf 将字符串存储到字符串数组中
- sql - sqlite创建表列默认值不起作用
- java - 如何解决错误“应用 BeanValidation 关系约束时出错”
- android - android:用于将验证/数据从动态 ViewPager 片段传递到活动的循环继承
- ios - 使用 didSet 导致函数多次运行
- r - 如何获得线性模型的β拟合值?
- javascript - JSON 未定义属性 - 简化验证以避免 TypeErrors
- matlab - 复制图像的行和列
- android - Kotlin:使用不同的子类多次实现泛型接口(基类是约束)