鍍金池/ 問答/Linux  HTML/ sed 替換字符串 正則表達式 順序總是無法調(diào)整

sed 替換字符串 正則表達式 順序總是無法調(diào)整

想要替換字符 str="DATE_T__id" ===> DATE_T__id__ref
其中DATE_T__id DATE_T 和id均為可變的,比如 wakeup__dateid,變成 wakeup__dateid__reg
這里只是尋找方法。

    echo $str|sed -i "s/\(DATE_T\)\(w*\)/\1\2__ref/g"  結(jié)果是 DATE_T__ref__id

后來 試了很多 sed -i "s/DATE_T__(w*)/DATE_T__1__ref/g"

         sed -i "s/\(DATE_T\)\(w*\)/\2\1__ref/g"       
         等 結(jié)果都是一樣的 為什么呢?
         
         但是sed -i "s/DATE_T__id/DATE_T__id__ref/g" 可以
         
回答
編輯回答
蝶戀花

sed -i "s/DATE_T__(w*)/&__ref/g" 解決 謝謝zuch

2017年3月30日 21:09
編輯回答
心夠野

你匹配 __id 用了個 w* 是什么意思呢?

2018年1月29日 00:37