相关文章推荐
冲动的消炎药  ·  Shell三大利器之sed开发者社区·  4 月前    · 
胡子拉碴的小刀  ·  Linux ...·  4 月前    · 
豪气的枕头  ·  假期如何顺畅乘坐地铁、公交、长客、火车、飞机 ...·  1 年前    · 
强健的太阳  ·  黄石市市场监督管理局·  2 年前    · 
大方的西装  ·  收藏备查!合肥成人高考考点详细线路!_发车_ ...·  2 年前    · 
文质彬彬的凉面  ·  厦门市同安区人民政府办公室关于印发同安区突发 ...·  2 年前    · 
沉着的烈马  ·  因生意竞争在网上谩骂出气 ...·  2 年前    · 
Code  ›  Shell三大利器之sed开发者社区
shell脚本 sed shell
https://cloud.tencent.com/developer/article/1775101
冲动的消炎药
4 月前
入门笔记

Shell三大利器之sed

原创
腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
发布
入门笔记
社区首页 > 专栏 > Shell三大利器之sed

Shell三大利器之sed

原创
作者头像
入门笔记
修改 于 2021-01-19 10:33:35
修改 于 2021-01-19 10:33:35
2.7K 0
举报
文章被收录于专栏: 入门小站 入门小站

sed (stream editor)流编辑器也是linux中的一条命令,在shell中经常需要用到的非交互式修改文件内容的命令。sed处理文本是按行处理,也就是读一行处理一行。

sed的常用参数

  • -n 屏蔽默认输出;如果不加-n选项会全部输出文本满足条件的行再重复输出
  • -r 如果使用扩展正则,则需要添加-r选项,默认不支持扩展正则,只支持标准正则
  • -i 直接修改源文件;不加-i只会在屏幕临时输出不会修改源文件,一般测试过命令无误才会在脚本中使用-i选项

sed常用命令

代码语言: txt
复制
a 在当前行后添加一行或多行。多行时除最后一行外,每行末尾需用“\”续行
b lable 分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。
c 用此符号后的新文本替换当前行中的文本。多行时除最后一行外,每行末尾需用"\"续行
i 在当前行之前插入文本。多行时除最后一行外,每行末尾需用"\"续行
d 从模板块(Pattern space)位置删除行
D 删除模板第一行
i 在当前行上面插入文本。
h 把模板空间里的内容复制到暂存缓冲区
H 把模板空间里的内容追加到暂存缓冲区
g 把暂存缓冲区里的内容复制到模板空间,覆盖原有的内容
G 把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面
l 列出非打印字符
n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理
N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。
q 结束或退出sed
r 从文件中读取输入行
! 对所选行以外的所有行应用命令
s 用一个字符串替换另一个 如s/re/string,用string替换正则表达式re。
g 在行内进行全局替换
w 写并追加模板块到file末尾。将所选的行写入文件
W 写并追加模板块的第一行到file末尾。
x 交换暂存缓冲区与模板空间的内容
y 将字符替换为另一字符(不能对正则表达式使用y命令)
p 打印行,常与-n一起用
= 打印当前行号码。
# 把注释扩展到下一个换行符以前
t if分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。
T 错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。

操作的文本

代码语言: txt
复制
vim rumenz.txt
 
推荐文章
冲动的消炎药  ·  Shell三大利器之sed开发者社区
4 月前
胡子拉碴的小刀  ·  Linux sed在某一行前面、后面追加(转载)-阿里云开发者社区
4 月前
豪气的枕头  ·  假期如何顺畅乘坐地铁、公交、长客、火车、飞机?-互动访谈-沈阳市人民政府外事办公室
1 年前
强健的太阳  ·  黄石市市场监督管理局
2 年前
大方的西装  ·  收藏备查!合肥成人高考考点详细线路!_发车_地铁_出口
2 年前
文质彬彬的凉面  ·  厦门市同安区人民政府办公室关于印发同安区突发环境事件应急预案(2021年修订版)的通知_应急管理_厦门市同安区人民政府
2 年前
沉着的烈马  ·  因生意竞争在网上谩骂出气 看看法院怎么判-中国法院网
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号