sed 常用替换与行处理速查

常用命令

sed 's/old/new/' file
sed 's/old/new/g' file
sed -i 's/old/new/g' file
sed -i.bak 's/old/new/g' file
sed -n '10,20p' file
sed -n '/start/,/end/p' file
sed '/pattern/d' file
sed '1d;$d' file
sed '3i\inserted line' file
sed '3a\appended line' file
sed 's/^/prefix /' file
sed 's/$/ suffix/' file
sed -E 's/([0-9]+)/[\1]/g' file

地址与命令

写法 含义
10p 第 10 行
10,20p 第 10–20 行
/regex/p 匹配行
/start/,/end/p 范围
$ 最后一行
! 取反
s/// 替换
d 删除
p 打印(常配 -n)
i\ / a\ 前插/后插
c\ 替换整行

场景速查

目的 写法
只替换第 N 次 sed 's/old/new/2'
保留备份 sed -i.bak 's/old/new/g'
删除空行 sed '/^$/d'
删除注释 sed '/^#/d'
取两个标记之间 sed -n '/BEGIN/,/END/p'
多文件批量替换 find . -name '*.conf' -exec sed -i 's/old/new/g' {} +

易错点

相关命令