我想使用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]'
,它也可以正常工作。
任何帮助将不胜感激
谢谢
答案 0 :(得分:4)
我认为你幸运的是'[c-a]',我的tr说tr: [c-a]: invalid destination string
,这是我所期待的。
我所处理的所有语言中的字符范围,即[a-z],需要提升价值。 很高兴您已经找到了解决方案。
或者编写一个可以像tr "[a-z]" "[$( revCharRange a-z )]"
一样使用的功能
(由于创建反向字符范围所需的子shell,这将更加昂贵。
修改强>
revCharRange a-z
将输出zyxw...cba
我希望这会有所帮助。