sed 文本编辑速查表

把 sed 最常用的文本编辑操作整理成速查表,批量修改文件时对照查。

系统与运维·共 37 条命令·最后更新 2026-07-19
返回 系统与运维

替换 Substitute 8

sed 's/old/new/' file
替换每行第一个匹配
sed 's/old/new/g' file
替换所有匹配(全局)
sed 's/old/new/2' file
替换每行第二个匹配
sed 's/old/new/I' file
忽略大小写匹配
sed -i 's/old/new/g' file
直接修改文件(原地编辑)
sed -i.bak 's/old/new/g' file
修改并备份原文件
sed 's/\/path\/old/path\/new/g' file
替换路径中的斜杠需转义
sed 's|old|new|g' file
用 | 分隔符避免转义斜杠

删除 Delete 7

sed '5d' file
删除第 5 行
sed '5,10d' file
删除第 5-10 行
sed '/pattern/d' file
删除匹配行
sed '/^$/d' file
删除空行
sed '/^#/d' file
删除注释行
sed '$d' file
删除最后一行
sed '1d;$d' file
删除第一行和最后一行

插入与追加 Insert & Append 5

sed '5i\new text' file
在第 5 行前插入
sed '5a\new text' file
在第 5 行后追加
sed '/pattern/i\new text' file
在匹配行前插入
sed '/pattern/a\new text' file
在匹配行后追加
sed '5i\line1\nline2' file
插入多行

打印 Print 5

sed -n '5p' file
只打印第 5 行
sed -n '5,10p' file
只打印第 5-10 行
sed -n '/pattern/p' file
只打印匹配行
sed -n '1p;$p' file
打印第一行和最后一行
sed 's/old/new/p' file
替换并打印修改的行

正则表达式 Regular Expression 7

sed 's/^prefix/new/' file
匹配行首
sed 's/suffix$/new/' file
匹配行尾
sed 's/\<word\>/new/g' file
匹配单词边界
sed 's/[0-9]/X/g' file
匹配数字
sed 's/[^0-9]/X/g' file
匹配非数字
sed 's/\(pattern\)/\1/g' file
捕获组与反向引用
sed -E 's/(old)/\1-new/g' file
扩展正则(-E 或 -r)

多行操作 Multi-line 5

sed ':a;N;$!ba;s/\n//g' file
删除所有换行符
sed 'N;s/\n/ /' file
合并相邻两行
sed '/start/,/end/s/old/new/g' file
在范围内替换
sed '/start/,/end/d' file
删除范围内行
sed '/start/,/end/p' file
打印范围内行

💡 提示

  • sed -i 直接修改文件前先备份(-i.bak),或先不加 -i 预览结果。
  • sed 默认使用 BRE(基本正则),+、?、| 需转义或用 -E 启用 ERE。
  • macOS 的 sed -i 必须跟备份后缀(如 -i ""),Linux 可直接 -i。