Linux学习2----sed
sed命令
- 功能:对文件数据流编辑
语法
sed [选项] [sed内置命令字符] [输入文件]
选项
参数选项 | 解释 |
---|---|
-n | 取消默认sed的输出,常与内置命令p一起使用 |
-i | 直接将修改结果写入文件,不用-i,sed修改的是内存数据 |
-e | 多次编辑,不需要管道符了 |
-r | 支持正则扩展 |
sed内置命令符
用于对文件进行不同的操作功能,如对文件增删改查
sed内置命令符 | 解释 |
---|---|
a | append,对文本追加,在指定行后面添加一行/多行文本 |
d | delete,删除匹配行 |
i | insert,表示插入文本,在指定行前添加一行/多行文本 |
p | print,打印匹配行的内容,通常与-n一起使用 |
s/正则/替换内容/g | 匹配正则内容,然后替换内容(支持正则),结尾g代表全局匹配 |
sed匹配范围
范围 | 解释 |
---|---|
空地址 | 全文处理 |
单地址 | 指定文件某一行 |
/pattern/ | 被模式匹配到的每一行 |
范围区间 | 10,20 十到二十行,10,+5 第10行向下5行, /pattern1/,/pattern2/ |
步长 | 12,表示1、3、5、7、9行,22 表示2、4、6、8、10 |
sed案例
sed "2,3p" pwd.txt -n #打印第2、3行
sed -n "/linux/p" pwd.txt #打印含linux的行
sed "/game/d" pwd.txt -n #删除含有game的行
sed "/game/d" pwd.txt -n -i #删除含有game的行(删除文件里的内容)
sed "5,$d" pwd.txt #删除第5行以后的
sed "s/匹配的内容/替换的内容/g" pwd.txt -i #替换
sed -e "s/匹配的内容1/替换的内容1/g" -e "s/匹配的内容2/替换的内容2/g" pwd.txt #多次替换 -e多次执行
sed "3a i like girl. \n i like pretty girl" pwd.txt #添加多行
sed "a ------" pwd.txt #在每一行后面追加
ifconfig ens33 | sed "2p" -n | sed "s/^.*inet//" |sed "s/net.*$//" #找到纯数字ip
ifconfig ens33 | sed -e "2s/^.*inet//" -e "2s/net.*$//p" -n #找到纯数字ip
播种和收获通常不在一个季节,而中间的过程叫做坚持~
【推荐】国内首个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应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构