sed合并多条指令修改文本
需求#
使用shell修改配置文件,需要删除最后一行并在某特定位置加上一行内容,例如:
修改前
This_is_the_beginning
...
End_of_file
Delete_this_line
修改后
This_is_the_beginning
New_content_here
...
End_of_file
思考#
很容易想到sed -i
进行文件操作,连续使用两次sed命令太长,希望合并。
实现#
使用;
对多条sed指令进行连接
sed -i '$ d;/This_is_the_beginning/a New_content_here' ~/config.yaml
解析
$ d
删除最后一行
/foo/a bar
将bar插入到第一次匹配到的foo行后
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用perf跟踪.NET程序的mmap泄露
· 日常问题排查-空闲一段时间再请求就超时
· Java虚拟机代码是如何一步一步变复杂且难以理解的?
· 领域驱动的事实与谬误 一 DDD 与 MVC
· SQL Server 2025 中的改进
· 日常问题排查-空闲一段时间再请求就超时
· C# 14 新增功能一览,你觉得实用吗?
· 揭秘 AI 工具的系统提示词「GitHub 热点速览」
· MySQL同步ES的6种方案!
· 解密AI知识库
2020-07-28 VMware+Alpine代替Docker部署Gogs服务