我需要替换字符'。' ' - ''+'和'§'与'D''_''P'' - '按相同的顺序排列,所以我发现你可以像这样用“y”选项使用sed:
echo "$string" | sed 'y/.-+§/D_P-/'
哪个在localhost终端上完美运行。但是当我运行脚本服务器端时,它会向stderr发送错误:
sed: -e expression #1, char 16: strings for `y' command are different lengths
脚本正在运行。我搜索了很长时间,似乎选项'y'不是那么流行,因为我没有找到很多搜索结果。 有趣的是,当我把“ - ”后面的空格放在/ D_P中时,一切正常。我试过甚至逃避一些字符“+”和“。”。不工作。 有没有人有任何想法?
答案 0 :(得分:1)
sed 'y/.-+§/D_P-/'
似乎可以替换为tr
,如下所示:
echo "$string" | tr '.-+§' 'D_P-'
这适合你吗?