我正在尝试使用 sed 将 wikitext 转换为乳胶代码。我快完成了,但我想自动生成这样的数字标签:
[[Image(mypicture.png)]]
... 进入:
\includegraphics{mypicture.png}\label{img-1}
我想继续使用 sed。我正在使用的当前正则表达式和 bash 代码如下:
__tex_includegraphics="\\\\includegraphics[width=0.95\\\\textwidth]{$__images_dir\/"
__tex_figure_pre="\\\\begin{figure}[H]\\\\centering$__tex_includegraphics"
__tex_figure_post="}\\\\label{img-$__images_counter}\\\\end{figure}"
sed -e "s/\[\[Image(\([^)]*\))\]\].*/$__tex_figure_pre\1$__tex_figure_post/g"\
...但我不能让那个计数器增加。有任何想法吗?
从更一般的角度来看,我的问题如下:我可以在 sed 中使用反向引用来创建对 sed 的每个匹配项都不同的替换吗?也就是说,每次 sed 匹配模式时,我可以使用 \1 作为函数的输入并使用该函数的结果作为替换吗?
我知道这是一个棘手的问题,我可能不得不为此使用 AWK。但是,如果有人有解决方案,我将不胜感激他或她的帮助。