使用tr替换一个具有多个字符的char

the*_*ux4 17 bash shell

  `echo "a~b" | tr '~' "=="`
Run Code Online (Sandbox Code Playgroud)

这输出a = b.但我想要一个== b.我怎么能用tr做到这一点?

Pri*_*ley 22

tr 只是可以翻译/删除字符.

尝试这样的事情:

 echo "a~b" | sed 's/~/==/g'
Run Code Online (Sandbox Code Playgroud)

  • 回声"a~b"| sed's /〜/ \&=/g' - 逃避它 (2认同)

dog*_*ane 13

你不能用tr.

相反,使用bash字符串操作${string/substring/replacement}.例:

str="a~b"
echo ${str/"~"/"=="}
Run Code Online (Sandbox Code Playgroud)

或使用sed:

echo "a~b" | sed 's/~/==/'
Run Code Online (Sandbox Code Playgroud)