Loading

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行后

参考#

Combining two sed commands - Stack Overflow

posted @   azureology  阅读(303)  评论(0)    收藏  举报
编辑推荐:
· 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服务
点击右上角即可分享
微信分享提示
主题色彩