如何使用正则表达式批量删除多个 Markdown 文件的指定行?

Foreword

在维护开源项目文档的日常工作中,我经常会遇到需要使用正则表达式处理 Markdown 文件的场景。

之前曾分享过一篇《如何使用正则表达式批量添加和删除字符》,演示了实际工作中的两个小场景,主要是处理单个文件的多行内容。

这一篇呢,则分享一下如何使用正则表达式批量删除多个 Markdown 文件的指定行,可谓又快又精准。

场景描述

随着产品和项目的不断快速迭代,需要维护的文档版本也相应增加,即需要同时维护多个版本的文档。

目前,我所在的公司 PingCAP 采用的是 GitHub + Markdown 的文档维护方案,活跃的文档版本中,每个版本里有数百个 Markdown 文件。

在发布新一个大版本之前,需要准备好中、英文档。那如何放置新版本的文档呢?通常的做法是基于某个版本的文档,为新版本新建专属的文档存储目录,或者基于某个版本的文档分支,为新版本新建专属的分支。

这样就有一个小问题需要处理,即删除新版本文件中开头的元数据 (metadata) 里的别名 (aliases)。这里的别名又是什么呢?如果在维护文档的过程中,发现原来某个文件放置的目录已不恰当,或者文件名需要调整,那么可能需要将该文件放到新的目录或者修改文件名。

此时,就涉及到了文档链接即 URL 的变更。假设用户收藏了原来旧版本的 URL,不加别名的话,原 URL 就会变成死链;而如果加了别名的话,当用户打开旧 URL 时,就会自动跳转至新的 URL。Markdown 文件中的 aliases 示例如下:

而为某个大版本新建的文档目录或分支里,通常在最初是不需要那些从另外的版本带过来的别名的,因为对这个新版本来说,全部 URL 都是新的(除非希望早期的某个旧链接跳转至该版本的相应页面)。

每个 Markdown 文件中有且只有一行 aliases,所以本文的需求场景就是:将新建的新版本文档中的所有 aliases 那一行删除。

处理步骤

注:我通常使用 Visual Studio Code 来编辑 Markdown 文件,以下步骤为在 VS Code 中的操作。

1. 点击搜索按钮,启动搜索替换功能的设置。

2. 在搜索替换页面,点击选择正则表达式模式。

3. 填写正确的正则表达式来匹配所有 aliases 行。

在搜索栏输入 \naliases: \[.+ 即可看到匹配检索结果,如下所示:

或者输入 aliases: \[.+\n,匹配结果如下:

上述正则表达式拆解:

  • \n:换行符,可匹配行尾。如果不加,则替换后会多一个空行。既可加在开头,也可加在末尾。
  • aliases:+空格:所有 aliases 行共有的行首字符。aliases+冒号+空格。
  • \[:对 "[" 字符转义。
  • .+:句点可匹配任意单个字符,加号可匹配前一个字符的一次或多次重复。

4. 点击全部替换按钮,完成。

检查一下效果,确定符合预期。

Afterword

我还在持续地系统学习中,大多数情况是有需求时去寻找解决方案。

不知道大家在工作或学习中是否也跟正则表达式有过交集呢?欢迎留言交流~

-END-

猜你想读

什么样的人适合做 Technical Writer?
技术文档诞生记 | 完整的技术写作流程是怎样的?
Technical Writer 可提供的交付物有哪些?
Write the Docs:连接技术文档人的全球社区,附海量学习资源
GitHub + Markdown 的新轻型技术写作模式速览
GitHub + Markdown 的技术文档方案深度解析
Technical Writer 日常工作中好用的小工具
技术传播人士应该知道的色彩搭配常识
如何使用颜色来提高技术文档的可读性?
Technical Writer 如何 Review 技术文档?| 重细节+全局观
技术翻译需要有 Technical Writer 的 sense
深度解析关于技术翻译的六个认知误区
如何让你的内容输出更加专业更有设计感?
书单 | 有哪些技术传播从业者必知必看的书籍?
有哪些适合技术传播从业者关注的优质博客?(一)
有哪些适合技术传播从业者关注的优质博客?(二)
行业动态 | 国内有哪些高校开设了技术传播或技术写作课程?
IEEE ProComm 2019 国际传播大会上,中国代表团有哪些精彩分享?
行业动态 | 2019 中国技术传播论坛上,大家都在谈论什么?
优质免费资源推荐 | 9 期技术写作短视频教程带你从入门到进阶
经验分享 | 来自 11 位 Technical Writer 前辈的职业发展建议(上篇)
经验分享 | 来自 11 位 Technical Writer 前辈的职业发展建议(下篇)
Technical Writer 想参与开源项目为文档做贡献,需提前掌握哪些知识?
Technical Writer 如何参与开源项目的文档,以不断提升专业技能?
技术传播沙龙精彩分享 | 高校老师与行业大牛谈“互联网技术写作”
经验分享 | 对用户文档进行伤筋动骨式的重构是怎样一种体验?
英语技术文档的标题到底该大写还是小写?
不同阶段如何应对 Technical Writer 的职业顾虑或烦恼?
如何使用正则表达式批量添加和删除字符?
英语技术文档中如何正确使用时态?
英语技术文档中如何正确使用人称?
英语技术文档中如何正确使用无序列表和有序列表?
Markdown:写技术文档、个人博客和读书笔记都很好用的轻量级标记语言
如何为 Markdown 文件自动生成目录?
技术写作实例解析 | 简洁即是美
两分钟趣味解读 Technical Writer
若脱离理解,直译得再正确又有何意?
技术文档翻译实例解析:始于翻译,经于沟通,终于易用
优质译文不应止于正确,还要 Well-Organized
Technical Writer 处理技术文档时,如何避免内容理解问题?
Technical Writer 需要 Technical 到会写代码吗?
如何利用 GitHub Pages 和 Hugo 轻松搭建个人博客?
写在入职技术型创业公司 PingCAP 一个月之后
揭秘 Technical Writer 的工作环境 | 加入 PingCAP 五个月的员工体验记

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355