SET_VALUE(ab.ms.r.gms_dil_cfg.f().gms_dil_mode, dsad_sd);
替代小寫如何使用sed
僅從SET_VALUE
直到替換,每個字母_
後要大寫?如何使用SED
結果:
SET_VALUE(ab.ms.r.gmsDilCfg.f().gmsDilMode, dsad_sd);
SET_VALUE(ab.ms.r.gms_dil_cfg.f().gms_dil_mode, dsad_sd);
替代小寫如何使用sed
僅從SET_VALUE
直到替換,每個字母_
後要大寫?如何使用SED
結果:
SET_VALUE(ab.ms.r.gmsDilCfg.f().gmsDilMode, dsad_sd);
對於你的輸入字符串您可以運用下列sed的表達+ 的bash變量代換:
s="SET_VALUE(ab.ms.r.gms_dil_cfg.f().gms_dil_mode, dsad sd)"
res=$(sed '1s/_\([a-z]\)/\U\1/g;' <<< "${s%,*}"),${s#*,}
echo "$res"
輸出:
SET_VALUE(ab.ms.r.gmsDilCfg.f().gmsDilMode, dsad_sd);
有_在第二學期,我不想受到影響.. dsad_sd – shd
@shd,好的,檢查我的更新 – RomanPerekhrest
'\ U'是Perl的貸款,一般不支持大多數'sed'實現。 – tripleee
了,而寫這一個這麼羅馬打我衝分心,但是這有輕微的變化,從而想我會發布它作爲另一種選擇......
$ s="SET_VALUE(ab.ms.r.gms_dil_cfg.f().gms_dil_mode, dsad_sd);"
$ sed 's/,/,\n/g' <<< "$s" | sed -n '1{s/_\([a-z]\)/\U\1/g;N;s/\n//;p}'
SET_VALUE(ab.ms.r.gmsDilCfg.f().gmsDilMode, dsad_sd);
s/,/,\n/g
:破在逗號處輸入單獨的行(在第一行留下逗號,將剩餘的輸入推向第二行)sed
調用現在將使用2行輸入sed -n
:禁止在處理輸入行時進行打印;我們明確要求p
RINT線時1{...}
:在第一線,應用括號內的命令...s/_\([a-z]\)/\U\1/g
:對於每一個模式,我們發現像「_ [az]」可以,保存在[a-z]
緩衝區#1,並用緩衝區#1的內容的大寫替換模式1N
:讀取並追加下一行到模式空間s/\n//
:替換成空字符p
:印刷圖案空間的
可能的複製[上 - 以小寫使用sed](https://stackoverflow.com/questions/689495/upper-to-lower-case-using-sed) –