我目前正在尝试将几个wiki合并在一起,但为了这样做,我需要解析页面内的链接以使它们与新位置匹配。为此,我计划使用Perl或bash脚本(虽然我倾向于使用Perl但不太确定)并使用正则表达式进行转换以便它们可以匹配新的命名空间。
单独进行转换应该不会太难,无论如何我都会遇到问题,因为http链接和内部链接的语法主要是相同的,所以我不太清楚如何处理它,因此我是寻求帮助。
作为一个具体的例子,请找到以下内容。
我们必须转换的一个例子:
[[deploy_an_application|Tutorial to deploy an application]]
应该成为:
[[admin:deploy_an_application|Tutorial to deploy an application]]
可以由(使用_作为分隔符)执行:
s_(\[\[).*\]\]_\[\[admin\:_g
我们不应该转换的一个例子:
[[http://www.ibm.com|Proud home of WebSphere]]
为了表现我目前正在预见的事情基于:
s_\[\[[^http]......
但我真的不确定这一切,特别是因为我无法真正做到这一点......
所以问题是,如何在不使用http链接的情况下在内部链接上执行此替换?
非常感谢你的帮助。 最好的问候。
答案 0 :(得分:0)
尝试更改[[http into [^[^
或您喜欢的任何字符串,
然后改变[[ into [[admin:
,
然后改回[^[^ into [[http