sed
sed 命令 - 流编辑器
sed(Stream Editor)是一个强大的流式文本编辑器,能够对文本进行过滤和转换。它特别适合在脚本中批量处理文本文件,是自动化运维的必备工具。
命令语法
sed [选项] '命令' 文件
常用参数
| -i | 直接修改文件内容(in-place) |
| -e | 执行多个 sed 命令 |
| -n | 安静模式,只输出处理过的行 |
| -r | 使用扩展正则表达式 |
实战示例
- $ sed 's/old/new/g' file.txt替换文件中所有的 old 为 new(仅输出不修改文件)
- $ sed -i 's/foo/bar/g' file.txt直接替换文件中的内容
- $ sed -i '/^$/d' file.txt删除文件中的空行
- $ sed -n '5,10p' file.txt只打印第5到第10行
- $ sed -i 's/^#//' config.conf去掉行首的注释符 #
温馨提示
使用 sed -i 会直接修改原文件,建议先在测试文件上验证命令。macOS 上需要用 sed -i "" 语法。