Как параметры "-s", "-t" и "-c" команды tr работают в Unix?
Я в замешательстве относительно того, как -s
, -t
, и -c
параметры работают в команде tr. Когда я это сделаю
echo I am a good boy | tr good bad
Я получаю результат:
I am a bddd bdy
Это вполне понятно, так как o
повторяется в good
. Последнее возможное изменение вместо o
- это d
, и, следовательно, результат.
Теперь, когда я это делаю
echo I am a good boy | tr -s good bad
Вывод
I am a bd bdy
Опция -s
должна сжимать каждое повторяющееся появление каждого символ в наборе 1 в одно вхождение, а затем измените каждый символ в наборе 1 на соответствующий символ в наборе 2, который находится в том же положении.
Так и должно было быть
I am a bad bay.
Почему произошли такие изменения?
Более того, когда я делаю
echo I am a good boy | tr -c good bad
Я получаю dddddddgoodddodd
Как работает опция -c
для tr
, ссылаясь на этот пример?
И, наконец: как превратиться из хорошего мальчика в плохого мальчика....:):P То есть
echo I am a good boy | tr <something>
дает мне результат в виде: I am a bad boy
.