shell-sed
Sed工作原理
sed是一款流编辑工具,用来对文本进行过滤与替换工作,sed通过输入读取的文件内容,但一次仅读取一行内容进行某些指令处理后输出,sed更适合处理大数据文件。
具体请百度,就不一一粘贴了
sed在处理文本文件的时候,会在内存上创建一个模式空间,然后把这个文件的每一行调入模式永健用相应的命令处理,然后sed使用指令对行进行操作,操作完成之后看看sed中有没有-n参数,没有-n,sed会将行输出到stdout,然后在将第二行读入,然后执行指令进行处理,然后看看有没有-n,没有输出到stdout,直到最后。
sed的基本语法: sed [选项] “命令” 文件 sed [选项] -f 脚本文件 文件
文本的操作:
sed是一个“非交互式的”面向字符流的编辑器,awk是一种负责模式匹配的程序设计语言,它的典型示例是将数据转换成格式化的报表。
sed和vim一样是编辑器,sed是非交互式的,通过参数完成不同的操作,vim是交互式的,vim需要通知处理文件的那几行才回去处理,sed默认
会处理文件的所有行,除非你告诉他不处理那几行。
sed最主要的功能就是替换。拿到文件,文件不符合你的要求把内容做替换,文件格式不符合要求,可以匹配格式做替换
sed [选项] '[寻址]s/模式/替换/[标志]'
sed的相关简单操作可以看之前写的一篇文章或者自行百度。不做详细操作
sed使用正则表达式
使用正则表达式匹配模式 元字符 . 匹配除换行符之外的任意单个字符,awk中可以匹配换行符 * 匹配任意一个(包括0个)在它前面的字符 [...] 匹配方括号中的任意一个字符,^为否定匹配,-表示字符的范围 ^ 作为正则表达式的第一个字符,匹配行的开始,在awk中可以匹配换行符 $ 作为正则表达式的最后一个字符,匹配行的结尾,在awk中可以匹配换行符 \{n,m\} 匹配出现的n到m次,\{n\}匹配出现n次,\{n,\} 匹配至少出现n次 \ 转义字符 扩展元字符(sed要使用扩展元字符需要使用-r) + 匹配前面的正则表达式的一次出现或者多次出现 ? 匹配前面的正则表达式的零次出现或者一次出现 | 可以匹配前边或者后边的正则表达式 () 对正则表达式进行分组 {n,m}匹配出现的n到m次数,{n}匹配出现n次,{n,}匹配至少出现n次
sed需要使用单引号,
具体用法百度。。
sed指明了及分组引用
标志flags: g 全局更改 n 可以是1-512,表示第n次出现的情况进行替换 p 打印模式空间的内容 w file写入到另一个文件file中 & 用正则表达式匹配的内容进行替换 \n 回调参数
具体案例百度,时间不够,之后抽空都会加上。
sed高级指令
sed高级指令 sed只有一段内存空间叫模式空间,但有的时候可能要做一些保存。 比如:处理第一行第二行第三行,但有时候希望处理完第二行回到第一行去处理,这种情况下基本的sed是做不到的,此时需要高级操作 高级指令只做了解 1.比普通命令用的少 2.所有的命令都可以使用awk去替代 高级指令分三个组: 1.处理多汗模式空间(N,D,P) 2.采用保持空间来保存模式空间的内容并使他客用户后续的命令(H,h,G,g,x) 3.编写使用分支和条件的指令脚本来更改控制流
sed空间转换
我有PDF文档,如果有需要的可以留言,我百度云分享
本文来自博客园,作者:一石数字欠我15w!!!,转载请注明原文链接:https://www.cnblogs.com/52-qq/p/9596500.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)