首页/系统/Linux 运维命令速查/sed 替换命令 s/// 深入
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

sed 替换命令 s/// 深入

替换是 sed 最常用动作:s/旧/新/[gI] 控制范围与大小写,分隔符可替换为 | # 等,& 与反向引用处理变形。

Linux 运维命令速查系统更新于 2026-10-12
用途查找替换文本
语法sed 's/旧/新/[gIp]' 文件
标记g 全局 I 忽略大小写 p 打印(配 -n)

常用示例

常用示例
sed 's/old/new/' file          # 只替换每行第一处
sed 's/old/new/g' file         # 全局替换
sed 's|/var/www|/srv/www|g' file   # 路径用 | 当分隔符少转义
sed -E 's/(user=)[^ ]+/\1admin/g' file   # 反向引用
sed 's/^ *//; s/ *$//' file    # 去行首行尾空格
反向引用 \1 需要 -E(或基本正则里的 \( \));包含路径与斜杠的替换强烈建议换分隔符。

易错点

  • 默认只替换每行第一处,忘记 g 是最高频的错误
  • 要替换的文本含分隔符(如 /)必须转义或换分隔符,写 \/ 越多越容易错

数据来源与参考

  • man 1 sed(GNU sed 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌