Tr (Unix) tr是一个类Unix操作系统中的命令它是translate或transliterate的缩写表示替换或删除输入数据集中特定字符 该程序从其标准输入中读取一个字节流并将结果写入标准输出参数需要两组字符通常长度相同并用第二组中的相应元素替换第一组中的字符例如 tr abcd jkmn 将a映射到jb到kc到md到n 字符集可以使用字符范围缩写前面的例子可以写成 tr ad jkmn 在兼容POSIX标准的tr版本中字符范围集合取决于语言环境的排序顺序所以在脚本中避免使用字符范围可能更安全因为脚本可能会在与编写时不同的语言环境下执行范围通常可以用POSIX字符集替换例如alpha s标志使tr将其输出中相同相邻字符的序列压缩为单个字符例如 tr s n 用一个换行符替换连续的一个或多个换行符 d标志使tr从其输入中删除指定的一组字符在这种情况下只使用单个字符集参数以下命令删除回车符 tr d r c标志表示第一组字符的补调用 tr cd alnum 会删除所有非字母或数字字符 tr的大多数版本包括GNU tr和经典的Unix tr都以单字节字符操作不兼容UnicodeHeirloom Toolchest的实现是个例外它提供了基本的Unicode支持 Ruby和Perl也有一个内置的tr操作符使用方法类似Tcl的string map命令更加通用因为它将字符串映射到字符串而tr将字符映射到字符