我需要在打印bash
之前更改字符串。所以我做:Bash字符串更改部分字
${RETEZEC//./D}
現在我需要改變一兩件事,-
爲_
。但不知道如何添加它?在$`{RETEZEC //./ D; // -/_}之類的同一步驟中,我需要一個額外的豁免 - ?
我需要在打印bash
之前更改字符串。所以我做:Bash字符串更改部分字
${RETEZEC//./D}
現在我需要改變一兩件事,-
爲_
。但不知道如何添加它?在$`{RETEZEC //./ D; // -/_}之類的同一步驟中,我需要一個額外的豁免 - ?
您可以使用:
s='abc-def-foo'
echo "${s//-/_}"
abc_def_foo
是的,但我想一步改變。對於D和 - 對於_ – Vrsi
@Vrsi這不可能使用參數擴展。 –
它看起來像你想與D
和-
與_
更換.
。
正如其他人評論,你不能只在一個步驟。但是你可以使用tr
:
$ echo "$RETEZEC"
hel-lo_a.b.
$ tr '.-' 'D_' <<< "$RETEZEC"
hel_lo_aDbD
如果你想存儲在同一個變量的輸出,這樣做:
$ RETEZEC=$(tr '.-' 'D_' <<< "$RETEZEC")
$ echo $RETEZEC
hel_lo_aDbD
有回聲 「$ {RETEZEC //./ d}」 – Vrsi
而不是評論你的答案,用相關信息更新你的問題。 – fedorqui