使用 tr 或类似命令交换 bash 中的两个字符

Jos*_*u01 3 bash replace tr

我正在做一个 bash 脚本,但我遇到了问题。我想更改字符串中两个字符的位置。

我的输入如下:

"aaaaa_eeeee"
Run Code Online (Sandbox Code Playgroud)

所需的输出是:

"eeeee_aaaaa"
Run Code Online (Sandbox Code Playgroud)

我不想反转字符串或其他类似的东西,我需要的是将字符“a”替换为“e”,将“e”替换为“a”。我试图制作一个echo "aaaaa_eeeee" | tr "a" "e. 第一个替换很简单,但第二个我不知道该怎么做。

Bar*_*mar 6

您可以将多个原始字符和替换字符赋予tr. 原始字符串中的每个字符都被替换为相应的替换字符。

echo "aaaaa_eeeee" | tr "ae" "ea"
Run Code Online (Sandbox Code Playgroud)