sed 匹配多行,在行首添加字符

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • sed与awk实例 文本间隔 在每一行后面增加一空行 将原来的所有空行删除并在每一行后面增加一空行。这样在输出的文...
    stuha阅读 1,908评论 0 21
  • 本文承接之前写的三十分钟学会AWK一文,在学习完AWK之后,趁热打铁又学习了一下SED,不得不说这两个工具真的堪称...
    mylxsw阅读 4,416评论 3 74
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,203评论 2 33
  • 常乐人生,多好的网名啊,笑口常开,人生的路坎坷不平,可是好的心态决定未来,快乐每一天,坦然面对微笑自然,祝君好运。...
    艳青阅读 627评论 2 1
  • 我是日记星球357号星宝宝清远仙人掌,我正在参加日记星球第14期21天蜕变之旅,这是我的第29篇原创日记~ 常常发...
    清远仙人掌阅读 170评论 0 1