sed学习札记
sed使用起来,感觉跟awk也有点类似,也可以理解成匹配一个模式,然后执行相应的动作。但是这个模式可以是正则表达式匹配的模式,也可以是特定的某些行。但是匹配后可以执行的动作确实是sed的一大亮点,其几乎能完成一个文本编辑器所实现的功能。比如增加,删除等操作。其命令的字和vim的还是比较相似的。
d:用于删除
s:用于替换
选定行:例如‘1,5’ ‘/abc/,./fgh/’
e:执行多个命令,例如sed '-e s/a/A/g' -e 's/b/B/g'
r:从文件中读取内容,并增加到匹配的行后面
w:将所有匹配的内容,写入文件中
a\:追加文本到匹配的行的下一行
i\:插入文本到匹配的行的前一行
n:对匹配的文件的下一行进行操作,例如/match/{n;s/abc/def/g}
练习:
cat test_sed
1.把Steve的名字改成Jon
sed 's/Steve/Jon/g' test_sed
2.删除头三行
sed '1,3d' test_sed
3.显示5-10行
sed -n 1,5p test_sed
4.删除包含Lane的行.
sed -n /Lane/d test_sed
5.显示生日在November-December之间的行
sed -n '\#:1[12]/#p' test_sed
6.把三个星***添加到含Fred的行
sed -n '/Fred/ s/$/***/p' test_sed
7.用JOSE HAS RETIRED取代包含Jose的行
sed -n 's/Jose/JOSE HAS RETIRED/gp' test_sed
8.把Popeye的生日改1/14/46
sed -n '/Popeye/ s#[0-9]*/[0-9]*/[0-9]*#1/14/46#gp' test_sed
9.删除空白行
sed '/^$/d' test_sed
10.在20到30前加#号
sed '1,20 s/^/#&/g' test_sed
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架