Linux shell脚本中sed命令的实用技巧解析
4星 · 超过85%的资源 需积分: 50 113 浏览量
更新于2024-07-27
收藏 76KB DOC 举报
"本文详细介绍了Linux下的sed命令,包括其在shell脚本中的应用以及各种基本操作,如打印、匹配、插入、替换和删除等。通过示例解释了sed命令的各种用法,帮助用户深入理解并熟练掌握这一强大的文本处理工具。"
在Linux系统中,sed(流编辑器Stream Editor)是一个功能强大的命令行工具,常用于处理文本流或文件,尤其在编写shell脚本时非常有用。它的基本工作原理是读取输入流(通常是文件),对每一行进行处理,然后输出处理后的结果。通过使用不同的命令选项,sed可以实现诸如打印、查找、替换、插入、删除等多种操作。
1. 打印指定行:
- `sed -n '2'p filename` 打印文件`filename`的第二行。
- `sed -n '1,3'p filename` 打印文件的前3行(包含第1行和第3行)。
2. 模糊匹配与打印:
- `sed -n '/Neave/'p filename` 打印文件中包含“Neave”的所有行。
3. 查询模式范围:
- `sed -n '4,/The/'p filename` 从第4行开始到遇到"The"的行为止,打印所有这些行。
4. 打印整个文件:
- `sed -n '1,$'p filename` 打印文件的所有行,其中`$`表示文件的最后一行。
5. 匹配模式:
- `sed -n '/.*ing/'p filename` 匹配任何以"ing"结尾的行。
6. 显示匹配行的行号:
- `sed -n '/music/'= filename` 打印包含“music”单词的行号。
7. 打印匹配行及行号:
- `sed -n -e'/music/'p -e'/music/'= filename` 打印包含“music”的行及其行号。
8. 插入与追加:
- `sed '/company/'a\"Thensuddenlyithappend"filename` 在包含"company"的行下追加文本。
- `sed '/company/'i\"Thensuddenlyithappend"filename` 在匹配"company"的行前插入文本。
- `sed '/company/'c\"Thensuddenlyithappend"filename` 替换匹配"company"的行内容。
9. 删除操作:
- `sed '1'd ('1,3'd'$'d'/Neave/'d) filename` 删除第一行、1到3行、最后一行以及包含"Neave"的行。
10. 替换操作:
- `sed 's/pattern-to-find/replacement-pattern/gp'` 命令用于查找并替换模式,其中:
- `g` 表示全局替换,替换所有匹配项,而不仅仅是第一个。
- `p` 表示在替换后打印行(与-n选项结合使用时取消默认输出)。
- `w` 可以将替换结果写入指定文件。
- `n` 表示仅替换第n次出现的模式。
通过灵活运用这些命令,你可以实现对文本的复杂操作,例如查找、替换、过滤、转换等,极大地提升了文本处理的效率。学习并熟练掌握sed命令,对于日常的Linux系统管理和自动化任务具有重要意义。
2010-11-01 上传
2021-01-11 上传
2021-01-20 上传
2011-02-16 上传
2013-11-26 上传
2011-05-18 上传
2018-06-12 上传
nuoshueihe
- 粉丝: 69
- 资源: 45
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录