命令 tr 是否能够将字符转换为更长的字符串?

6 shell string tr

tr是一个很棒的工具,可以用来翻译set of characters成另一个set of characters.

诸如此类的命令sed , awk, perl可用于转换set of characters为另一组字符串,例如,它可以将<and> 转换为 &lt;and &gt;,但似乎没有必要为此目的使用这些命令!

是否有任何其他命令可以完成此操作?

Cal*_*leb 5

我不知道您使用的是哪个 shell,但tr很有可能不是内置的。在 bash 或 zsh 中肯定不适合我 :) 尝试type tr自己运行看看。

在所有可能的情况下,sed是完成这项工作的正确工具。它就是为此而生的。视情况perl而定awk

如果您有非常简单的情况,并且您正在使用字符串变量而不是管道,那么您可能会使用真正的内置函数,例如使用 bash 的字符串搜索和替换变量。

string="Stuf with <tag> in it."
escaped=${string//</&lt;}
escaped=${escaped//>/&gt;}
echo $escaped
Run Code Online (Sandbox Code Playgroud)