在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Linux  HTML/ 請問 Shell 如何進行正則替換?

請問 Shell 如何進行正則替換?

比如我由一個字符串變量,內(nèi)容為:

AAA=<?=\${AAA}=?>
BBB=<?=\${BBB}=?>
<%=[ "\${Alias}" == "" ]=%>
CCC=\${CCC}

我想實現(xiàn)正則替換,將字符串生成為:

AAA=<?=${AAA}=?>
BBB=<?=${BBB}=?>
<%= [ "${Alias}" == "" ] =%>
CCC=\${CCC}

或者

AAA=${AAA}
BBB=${BBB}
[ "${Alias}" == "" ]
CCC=\${CCC}

請問如何實現(xiàn),我試了 sed 等,但是 Shell 能力有限,難以達到效果。

注意:我是想達到一種模板引擎替換的效果。

回答
編輯回答
耍太極

因為問題已經(jīng)更正,答案也更新一下:
借助grep和sed可以解決你的問題

echo 'AAA=<?=\${AAA}=?>' | grep -E '<[?%]=.*=[?%]>' | sed 's/\\\$/$/g' | sed 's/<[?%]=//g' | sed 's/=[?%]>//g'

以上,返回 AAA=${AAA}, 同樣,上述語句也適用于<%=[ "\${Alias}" == "" ]=%>的解析。

2017年6月2日 09:22