运维人员不仅要熟悉操作系统、服务器、网络等只是,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大家喜欢。
今天我们要讲的是 Sed 命令。
一、简介
Sed 全名为 Stream Editor(流编辑器),是 Linux 下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。它主要依赖于正则表达式。本文主要介绍 sed 的一些基本用法和使用实例。
1.1. Sed 的工作流程

- Read:SED 从输入流(文件、管道或标准输入)中读取一行并将其存储在其内部缓冲区中,称为pattern buffer.
- Execute:所有 SED 命令都按顺序应用于模式缓冲区。默认情况下,除非指定了行寻址,否则 SED 命令将应用于所有行(全局)。
- Display:将(修改后的)内容发送到输出流。发送数据后,模式缓冲区将为空。
- 重复上述过程,直到文件用完。
二、基本用法
$ sed [选项] command [文件]
参数说明:
| 参数 | 说明 | 示例 |
| -r, -E | 使用扩展正则表达式 | sed -E 's/[0-9]+//g' input-file |
| -e | 执行多个 sed 命令 | sed -e 'command1' -e 'command2' input-file |
| -f | 执行 sed 脚本文件 | sed -f script.sed config.conf |
| -i | 直接对内容进行修改,不加-i时默认只是预览,不会对文件做实际修改 | sed -i 's/On/Off/' php.ini |

本文介绍了Linux下的流编辑器Sed,包括其工作流程、基本用法、编辑命令、循环、杂项标志以及实例应用,如替换、搜索、追加、删除行和格式调整等,帮助运维人员提升文本处理效率。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



