使用 sed 进行字符到字符替换

hey*_*de1 2 sed

我正在尝试在 bash 中制作一个单字母替换解码器:我有一组字符形成一个替代字母表,如

real alphabet -> ABCDE ...
my alphabet   -> DGHJK ...
Run Code Online (Sandbox Code Playgroud)

我想要 sed(或其他工具,但我认为 sed 可以处理它)将“A”替换为“D”,将“B”替换为“G”等等。是否有可能在 sed 中不使用“-e”参数(并输入所有字母)来执行这样的替换?

cuo*_*glm 5

尝试:

$ echo ABCDBAD | sed 'y/ABCD/DEFG/'
DEFGEDG
Run Code Online (Sandbox Code Playgroud)

y/string1/string2/原因sed将所有出现的字符替换为 中string1的相应字符string2


cho*_*oba 5

而不是sed,使用tr

tr 'A-Z' 'DGHJK...' < input
Run Code Online (Sandbox Code Playgroud)