rmdir.cn

sed

流编辑器,文本替换与处理

语法

sed [选项] '命令' [文件...]

说明

sed(stream editor)用于对文本流进行过滤和转换。支持查找替换、删除行、插入行等操作,是 Shell 脚本中最强大的文本处理工具之一。

参数

  • -i

    直接修改文件(in-place),不加则仅输出到标准输出

  • -e

    添加脚本命令到要执行的命令列表

  • -n

    禁止自动打印模式空间(通常配合 p 命令使用)

  • -r

    使用扩展正则表达式(同 -E)

示例

查找替换

将文件中所有 old 替换为 new

sed 's/old/new/g' file.txt

直接修改文件

原地替换并修改文件

sed -i 's/http:/https:/g' config.yaml

删除空行

删除文件中的空行和纯空白行

sed -i '/^\s*$/d' file.txt

打印指定行

只输出第 5 到第 10 行

sed -n '5,10p' file.txt