我有一個GNU makefile
與配方線讀取之一:sed:如何在嵌入式shell命令中使用記憶模式?
sed -i 's|<span class="math">$$\(.*\)$$</span>|<span style="font-size:100%">'"$$(curl -d "type=tex&q=\1" http://localhost:16000/)"'</span>|g' $(NAME).a4.xhtml
想法是通過<span style="font-size:100%">..SVG..</span>
其中..SVG..
是通過執行外殼命令curl -d "type=tex&q=\1" http://localhost:16000/
返回的字符串替換<span class="math">$$\(.*\)$$</span>
並且其中\1
應該是先前記住的模式\(.*\)
。
問題:模式檢測和shell執行都能正常工作。然而,\1
並未被先前記憶的模式所取代。
PS:如果一個人喜歡使用sed
與-r
選項,makefile
內匹配如下:
sed -i -r '[email protected]<span class="math">\$$(.*)\$$</span>@[email protected]' $(NAME).a4.xhtml