2
範囲を使用したtrの奇妙な動作
trを使用するときに奇妙な動作をする特定のサーバーがあります。以下は、稼働中のサーバーの例です。 -bash-3.2$ echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] 1234567890 -bash-3.2$ それは私には完全に理にかなっています。 ただし、これは「特別な」サーバーからのものです。 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] abcdefghijklmnpqrstuvwxyz1234567890 ご覧のように、すべての小文字の削除は失敗します。しかし、それは文字「o」を削除しました 興味深いのは、次の2つの例ですが、これらはまったく意味がありません。 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-n] opqrstuvwxyz1234567890 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-o] abcdefghijklmnpqrstuvwxyz1234567890 [root@host~]# (ここでも、最後の例では「o」が削除されています) ここで何が起こっているのか誰か誰か知っていますか?私が使用している他のLinuxボックスでは再現できません。