macOS 的 sed 和 linux 有所区别.


rg todo -i -l | xargs sed -i '' "s/todo/simonxxx/g"

其中 rg 的 -i 表示不区分大小写; -l 表示仅列出文件路径(以供 sed 使用)

sed 的 -i 表示原地替换:

-i extension
         Edit files in-place, saving backups with the specified extension.  If a zero-length extension is given, no backup will be saved.
         It is not recommended to give a zero-length extension when in-place editing files, as you risk corruption or partial content in
         situations where disk space is exhausted, etc.

如果不需要备份, 不可以忽略参数, 只能提供一个 空字符串, 如 -i ''