我使用bash動態查找並用另一個字符串替換字符串,例如動態匹配並使用Bash替換
href="/controller/action"
href="<?php echo $this->url("controller", action-> "action") ?>"
我使用這個sed命令來查找和更改它的正常工作......
sed -i 's%href=\"/controller/action%href=\"<?php echo $this->url(\"controller\", action-> \"action\") ?>%g' changes.txt
我要的是舊的字符串來尋找任何類型的以下使用模式通配符。我看到這是一個選項,但不起作用。
sed -i 's%href=\"/(.*)/(.*)%href=\"<?php echo $this->url(\"/1\", action-> \"/2\") ?>%g' changes.txt
我如何能夠運行這個命令,使控制器和動作可以是任何東西,並從老的字符串動態拍攝並輸入到新的字符串?
以什麼方式不工作?錯誤的輸出,沒有輸出,錯誤信息,核心轉儲,別的東西?想象一下,把你的汽車交給機修工,讓你解決問題的唯一線索就是「這輛車不行」。 –
給這個鏡頭:sed -i's%href = \「/([^)] +)/([^)] +)%href = \」<?php echo $ this-> url(\「/ 1 \「,action-> \」/ 2 \「)?>%g'changes.txt我猜測。*正在搞亂。你可以把它們改成。*?如果你覺得自己很懶,或者我在那裏。如果這個作品讓我知道,我會寫一個更好的答案。 – sniperd
感謝狙擊手我會給你一槍!有一些正則表達式oO。我想用不懶惰的版本來嘗試:P。埃德,沒有錯誤,沒有變化,沒有核心轉儲和沒有破車:) – SmiffyKmc