我正在尝试使用字符范围测试 tr 命令的限制。我不明白我是如何得到输出的:
lowercase letters
输入以下内容:
echo "lowercase letters" | tr A-Z A-Z
代替:
LOWERCaSE LETTERS
?
我的语言环境设置为字典顺序 aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ。原则上,“小写字母”中的“a”不应更改,因为“a”位于“A”之前。我不明白的是,“小写字母”中的其他字母为什么不大写?鉴于它们在字典顺序中都位于“A”和“Z”之间,它们不应该全部大写吗?
答案1
因为这就是它应该做的?你告诉 tr 将第一组中的任何字母更改为第二组中你指定为相同的相应字母,那么为什么期望会发生更改呢?我看不出语言环境是相关的。即使排序是某种完全疯狂的顺序,它肯定会在两个参数中以相同的方式解释“AZ”。这对我来说似乎很明显,我有一种不祥的预感,我很愚蠢,错过了一些东西。