Unix/Linux SED 流编辑器单行脚本实用参考

需积分: 10 1 下载量 58 浏览量 更新于2024-07-19 收藏 134KB PDF 举报
"这篇文档是关于SED(Stream Editor)单行脚本的快速参考,主要针对Unix/Linux系统。由Eric Pement整理并提供,旨在提供一系列实用的一行命令示例,帮助用户更有效地使用SED进行文本处理。文档还提供了不同语言版本的链接,方便全球用户阅读。" 本文档详细列举了多个SED单行脚本实例,这些脚本用于对文本进行各种操作,如添加、删除或修改行。以下是一些关键的SED命令和它们的功能: 1. **在每一行后面增加一空行**: `sed G` 这个命令会在每行末尾添加一个空行。 2. **确保每行后只有一个空行**: `sed '/^$/d;G'` 这个脚本首先删除所有空白行,然后在每行后添加一个空行,保证输出中每行后面只有一个空行。 3. **在每一行后面增加两行空行**: `sed 'G;G'` 这个命令连续执行两次G命令,使得每行后面都有两个空行。 4. **删除所有偶数行**: `sed 'n;d'` 这个脚本首先使用'n'命令跳到下一行,然后使用'd'命令删除当前行,实现删除所有偶数行的效果。 5. **在匹配特定模式的行前插入一空行**: `sed '/regex/{x;p;x;}'` 这个命令找到匹配正则表达式"regex"的行,然后交换模式空间和 hold 空间,打印模式空间(即空行),再交换回来,从而在匹配行前插入空行。 6. **在匹配特定模式的行后插入一空行**: `sed '/regex/G'` 直接使用G命令在匹配"regex"的行后添加一个空行。 7. **在匹配特定模式的行前后各插入一空行**: `sed '/regex/{x;p;x;G;}'` 这个脚本结合了前面两个命令,先在匹配行前插入空行,然后在匹配行后插入空行。 SED是一种强大的文本处理工具,特别适用于批量修改文件内容,通过这些单行脚本,用户可以快速实现对文本的复杂操作,无需编写完整的脚本文件。理解并熟练运用这些命令,能极大地提高文本处理效率。