bash - 如何删除不包含特定字符的行?
问题描述
例如,我想删除纺织品中不包含字符“@”的所有线条
我已经尝试过像这样使用 sed
sed '/@/!d' data.txt
我错过了什么?这不应该工作吗?
解决方案
我更喜欢使用ed
non-standard sed -i
,特别是如果它需要便携:
printf "%s\n" "v/@/d" w | ed -s filename
这将删除不包含 @ 的每一行,并将更改的文件保存回磁盘。
推荐阅读
- html - 我想加入 2 个 html 页面,但输出失真
- c# - 在与 EF Core 一起使用之前更改单个字段值
- php - 将自定义字段插入自定义帖子类型
- reactjs - CRA:将特别大的模块提取到单独的块中?
- php - 在 bitmex API 中更改 SYMBOL CONST
- sql - 使用 JSON1 跨多个表聚合 SQLite 查询
- node.js - 错误 TS2322:类型“任何”不可分配给类型“从不”
- python - 插入表并得到错误: sqlite3.ProgrammingError: You did not provide a value for binding 1
- python - Tkinter - 要求用户输入整数,直到他们在 tkinter 输入框中给出有效响应
- vue.js - 如何解决已分配计算属性但在 vue api 组合中没有设置器的问题?