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