感谢您花时间阅读这篇文章。
正如标题中提到的,我试图将 .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
在该单词之后。