sd
简单直观的查找替换工具,sed 的现代替代
补充说明
sd 用普通字符串或正则做查找替换,默认原地修改文件,语法比 sed 更直观。它适合批量改代码/配置,不替代复杂的 sed 脚本。
常用示例
sd 'old' 'new' file.txt
sd -p 'foo' 'bar' file.txt
sd -s 'a.b' 'x' files/
sd -f i 'OLD' 'NEW' file.txt
易错点与排错
- 默认就是原地修改;先
-p 预览,或先备份。
- 默认替换所有匹配;需要只替换第一个时用
-f 1 或改用 sed。
- 正则默认开启;搜索字面量
./*/[ 时用 -s。
-f i 忽略大小写;不要把它和文件参数混在一起。
- 多文件/目录要确认范围;
sd 不会自动跳过二进制文件时尤其小心。
- 它不处理跨行复杂替换;用 perl/awk/sed 的地址和分支。