如何将 .md 附加到分隔符““wikilink”之前的任何单词

如何将 .md 附加到分隔符““wikilink”之前的任何单词

感谢您花时间阅读这篇文章。

正如标题中提到的,我试图将 .md 附加到分隔符“wikilink”之前的任何单词。问题是单词会根据文件而变化,并且有数百个文件。

例如:

On the (example-info "wikilink") and the
(second-example "wikilink") platforms.

应该变成:

On the (example-info.md "wikilink") and the
(second-example.md "wikilink") platforms.

由于该单词会根据文件而变化,因此我尝试了以下 sed 命令。不幸的是,这在单词和 .md 之间留下了一个空格

gsed -r 's/(^.*)"wikilink"/\1.md "wikilink"/g' filename

结果:

On the (example-info .md "wikilink") and the
(second-example .md "wikilink") platforms.

这不必使用 sed 来完成,它似乎是最好使用的工具。

谢谢

答案1

$ sed 's/(\([^ ]*\) "wikilink")/(\1.md "wikilink")/g' file
On the (example-info.md "wikilink") and the
(second-example.md "wikilink") platforms.

这只是匹配左括号后面的单词,直到其后面的空格,然后是字符串"wikilink")。该单词被捕获在捕获组 ( \(...\)) 中,并且替换插入.md在该单词之后。

相关内容