比如我由一個字符串變量,內容為:AAA=<?=\${AAA}=?>BBB=<?=\${BBB}=?><%=[ "\${Alias}" == "" ]=%>CCC=\${CCC}我想實現正則替換,將字符串生成為:AAA=<?=${AAA}=?>BBB=<?=${BBB}=?><%= [ "${Alias}" == "" ] =%>CCC=\${CCC}或者AAA=${AAA}BBB=${BBB}[ "${Alias}" == "" ]CCC=\${CCC}請問如何實現,我試了 sed 等,但是 Shell 能力有限,難以達到效果。注意:我是想達到一種模板引擎替換的效果。
1 回答

紫衣仙女
TA貢獻1839條經驗 獲得超15個贊
因為問題已經更正,答案也更新一下:
借助grep和sed可以解決你的問題
echo 'AAA=<?=\${AAA}=?>' | grep -E '<[?%]=.*=[?%]>' | sed 's/\\\$/$/g' | sed 's/<[?%]=//g' | sed 's/=[?%]>//g'
以上,返回 AAA=${AAA}
, 同樣,上述語句也適用于<%=[ "\${Alias}" == "" ]=%>
的解析。
添加回答
舉報
0/150
提交
取消