sed c替换指定行
参考:sed 替换命令 c - sed 基础教程 - 简单教程,简单编程 (twle.cn)
sed 替换命令 c
sed 提供了单字母命令 c
用来完成 变更 或 替换 的操作。
c
是 change
的首字母,后者是 变更 的意思。
我们这里说的变更 或 替换 并不是替换几个字符,而是把 符合条件的行替换为新行。
如果指定的条件是 行范围,则会把 从开始行到结束行都替换为新行。
单字母命令 c
的语法格式如下
[address1[,address2]] c Replace text
苹果电脑自带的 sed 的只支持以下语法
[address1[,address2]]c\ Replace text
-
address1
和address2
是 行寻址 的开始行和结束行 -
c
是替换命令 -
Replace text 替换后的数据
-
苹果电脑自带的 sed 的
c
后面跟着一个 正斜杠(\
),然后是一个 回车,然后才是要替换的内容
范例
范例开始前,我们先准备要用的数据,先在当前目录下新建一个文件 data.txt
内容如下
1) 小明,23岁,北京大学 2) 小红,22岁,清华大学 3) 小李,25岁,斯坦福大学 4) 小王,22岁,清华大学 5) 小刚,27岁,北京大学 6) 小英,21岁,哈佛大学
下面的范例,把第二行替换为 7) 小陈,22岁,哈工大
[www.twle.cn]$ sed '2 c 7) 小陈,22岁,哈工大' data.txt
运行结果如下
1) 小明,23岁,北京大学 7) 小陈,22岁,哈工大 3) 小李,25岁,斯坦福大学 4) 小王,22岁,清华大学 5) 小刚,27岁,北京大学 6) 小英,21岁,哈佛大
模式寻址
sed 的替换命令 c
除了使用 行号 寻址外,还可以使用 模式寻址。
模式寻址和之前我们学习的使用语法语法一样
范例
下面的命令,我们使用 模式寻址,将包含 小红 的行替换为 7) 小陈,22岁,哈工大
。
[www.twe.cn]$ sed '/小红/ c 7) 小陈,22岁,哈工大' data.txt
运行结果如下
1) 小明,23岁,北京大学 7) 小陈,22岁,哈工大 3) 小李,25岁,斯坦福大学 4) 小王,22岁,清华大学 5) 小刚,27岁,北京大学 6) 小英,21岁,哈佛大
多行替换
sed 还支持多行替换为新的一行。
简单的说,就是使用 行寻址 将指定范围的行替换为新的单行。
从某些方面说,就是使用使用 行寻址 将指定范围的行删除,然后插入一个新行。
多行替换的语法格式如下
address1,address2 c Replace text
苹果电脑自带的 sed 的只支持以下语法
address1,address2 c\ Replace text
-
address1
和address2
是 行寻址 的开始行和结束行 -
c
是替换命令 -
Replace text 替换后的数据
-
苹果电脑自带的 sed 的
c
后面跟着一个 正斜杠(\
),然后是一个 回车,然后才是要替换的内容
范例
下面的范例,我们将 2-4 行替换为一个新行 7) 小陈,22岁,哈工大
[www.twle.cn]$ sed '2, 4 c 7) 小陈,22岁,哈工大' data.txt
运行结果如下
1) 小明,23岁,北京大学 7) 小陈,22岁,哈工大 5) 小刚,27岁,北京大学 6) 小英,21岁,哈佛大学
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2021-01-06 Makefile目标文件搜索(VPATH和vpath