首页 > 解决方案 > 如何删除不包含特定字符的行?

问题描述

例如,我想删除纺织品中不包含字符“@”的所有线条

我已经尝试过像这样使用 sed

sed '/@/!d' data.txt

我错过了什么?这不应该工作吗?

标签: bashmacosshellsed

解决方案


我更喜欢使用ednon-standard sed -i,特别是如果它需要便携:

printf "%s\n" "v/@/d" w | ed -s filename

这将删除不包含 @ 的每一行,并将更改的文件保存回磁盘。


推荐阅读