macOS 的 sed 命令是 BSD 版本的,和 GNU 版本的 sed 有区别。
用 brew 安装 gnu-sed:
brew install gnu-sed
安装好的命令是 gsed
。
匹配```和```之间的多行内容,并在它们的行首添加 4 个空格:
gsed -i '/```/{:a;n;s/^/ /g;/```/!ba}' filename
配合 find 命令,批量处理所有文件:
find . -name "*.md" -exec gsed -i '/```/{:a;n;s/^/ /g;/```/!ba}' {} \;
“多行处理”参考自 https://www.cnblogs.com/yangxiaochu/p/7602884.html