sed

对文本流进行非交互式的查找、替换、删除和插入操作

语法

sed [options] 'command' file

参数

参数说明示例级别
-i 直接修改文件(原地编辑) 常用
-n 静默模式,仅输出处理后的行 常用
-e 执行多个编辑命令 常用
-E 使用扩展正则表达式 常用
g 全局替换标志(替换行内所有匹配) 常用

示例

全局替换 old 为 new

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

原地修改配置文件中的地址

sed -i 's/localhost/127.0.0.1/g' config.yml

打印第 10 到 20 行

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

删除所有注释行(以 # 开头)

sed '/^#/d' config.conf

删除所有空行

sed -i '/^$/d' file.txt

用 | 作分隔符替换路径(避免转义斜杠)

sed 's|/usr/local|/opt|g' paths.txt

技巧

相关命令