我有一台特定的服务器在使用 tr 时表现出奇怪的行为。这是来自工作服务器的示例:
-bash-3.2$ echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z]
1234567890
-bash-3.2$
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义。
然而,这是来自“特殊”服务器:
[root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z]
abcdefghijklmnpqrstuvwxyz1234567890
Run Code Online (Sandbox Code Playgroud)
如您所见,删除所有小写字符失败。但是,它已经删除了字母“o”
有趣的部分是以下两个示例,它们对我来说毫无意义:
[root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-n]
opqrstuvwxyz1234567890
[root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-o]
abcdefghijklmnpqrstuvwxyz1234567890
[root@host~]#
Run Code Online (Sandbox Code Playgroud)
(同样,'o' 在最后一个例子中被删除了)
有谁知道这里发生了什么?我无法在我正在使用的任何其他 linux 机器上复制。