此SED替换的等效bash替代是什么?
STRING="HELLO-MY-NAME-IS"
$ echo $STRING | sed 's/-/%2d/g'
HELLO%2dMY%2dNAME%2dIS
我已经尝试过,但仅适用于发现的第一个子字符串:
$ echo ${STRING/"-"/"%2d"}
HELLO%2dMY-NAME-IS
谢谢
您可以尝试:
$ echo ${STRING//-/%2d}
HELLO%2dMY%2dNAME%2dIS
请注意,您在STRING
之后使用了一个斜线,而其中两个需要全局替换。
.
$ echo ${STRING/-/%2d}
HELLO%2dMY-NAME-IS
..
$ echo ${STRING//-/%2d}
HELLO%2dMY%2dNAME%2dIS