我有一大堆markdown文件需要经过并替换许多链接。需要替换的每个链接前面都有相同的字符串,比如Foo bar
,然后是惯用的降价链接语法:[arbitrary name](address)
。例如,
Foo bar [arbitrary link text](http://arbitrary.address.com)
我需要在“Foo bar”之后找到每个降价链接,并将括号中的地址更改为其他链接,例如foo.bar.com
。问题是每个链接都不同,并且必须保留任意链接文本,所以我不能只是grep一个字符串并替换它。如何使用grep识别具有匹配模式的文件并使用sed替换链接?
答案 0 :(得分:2)
您可以使用find
命令。
find . -type f -exec sed -ri 's/\b(Foo bar +\[[^\]]*\]\()[^()]*\)/\1foo.bar.com)/g' {} \;