单次替换很容易:
string="Mark Shuttleworth"
echo ${string/a/o}
Mork Shuttleworth
是否可以同时进行双打?
echo ${string/a/o string/t/g} #doesn't work, but you get the idea
Mork Shuggleworgh
正则表达式足以作为答案,如果可以使用它们的话。
谢谢
单次替换很容易:
string="Mark Shuttleworth"
echo ${string/a/o}
Mork Shuttleworth
是否可以同时进行双打?
echo ${string/a/o string/t/g} #doesn't work, but you get the idea
Mork Shuggleworgh
正则表达式足以作为答案,如果可以使用它们的话。
谢谢
据我所知,在当前版本中执行此操作的唯一方法
bash
是分两个步骤,例如尝试嵌套替换会导致错误:
请注意,其他 shell 可能支持这样的嵌套替换,例如
zsh 5.2
:当然,外部工具如
tr
,sed
,perl
可以轻松完成您正在替换单个字母,因此只需使用
tr
:这会导致每个
a
被替换o
,每个t
被替换g
。用你的例子:尝试
我正在使用我的平板电脑,没有
bash
测试。您可能希望使用
printf
更灵活的命令进行结帐。