我目前正在迭代一个与此类似的值:
Administer PoolA servers :id=server@Pool@5@example.com
,并希望将空格替换为“ \”,以使其看起来像这样(或在每个空格之前添加\):
Administer\ PoolA\ servers\ :id=server@Pool@5@example.com
我知道regex可以帮助我做到这一点,但失败了,将不胜感激。
答案 0 :(得分:3)
为此无需使用正则表达式。您可以使用bash Parameter Expansion运算符替换字符串。
$ str='Administer PoolA servers :id=server@Pool@5@example.com'
$ newStr="${str// /\\ }"
$ echo "$newStr"
Administer\ PoolA\ servers\ :id=server@Pool@5@example.com
答案 1 :(得分:0)
mystring="Administer PoolA servers :id=server@Pool@5@example.com"
echo "$mystring" | sed "s/ /\\\ /g"
# --> Administer\ PoolA\ servers\ :id=server@Pool@5@example.com