Как параметры "-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.