我想用rev
命令模拟tr
命令(在字母表上)
所以我这样做了
echo abcdefghijklmnopqrstuvxyz | tr '[z-a]' '[a-z]'
这给了我
tr:“z-a”的范围端点处于反向整理顺序
所以我试过了
echo abcdefghijklmnopqrstuvxyz | tr 'abcdefghijklmnopqrstuvxyz' 'zyxvutsrqponmlkjihgfedcba'
它工作正常,输出是zyxvutsrqponmlkjihgfedcba
这是错误的tr '[z-a]' '[a-z]'
?
如果我指定tr '[a-c]' '[c-a]'
它也可以正常工作。
任何帮助,将不胜感激
谢谢
我认为你幸运的是'[c-a]'的事情,我的tr说tr: [c-a]: invalid destination string
,这是我所期待的。
在我所处理的所有语言中,字符范围,即[a-z],需要提升价值。很高兴您已经找到了解决方案。
或者编写一个可以像tr "[a-z]" "[$( revCharRange a-z )]"
一样使用的函数(由于创建反向字符范围所需的子shell,因此会更昂贵。
编辑revCharRange a-z
将输出zyxw...cba
的位置
我希望这有帮助。