有趣的是,
我对tr
选项的执行顺序感到困惑。
例如,有这样一个命令:
echo 123 | tr -ct 'n' '0'
这是如何执行的?是首先执行-c
还是先执行-t
?
我也对这个命令的结果感到困惑。我想先执行-c
,结果是123
,然后执行-t
,结果是023
,最后是023n
。但这是错误的,正确的答案是123n
,我不知道为什么,有人能告诉我吗?
tr -ct
似乎补充了第一个集合,然后将其截断为第二个集合的长度。这可能不是你应该依赖的行为,因为-t
说它"首先将SET1截断为SET2的长度"。
无论如何,明显的效果是首先应用-c
,将第一个集合n
转换为包含除n
之外的所有字符的集合,并按升序排序(因此第一个字符是NUL字符