Я не совсем понимаю, как работают опции -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 .
