Я збентежений щодо шляху -s
, -t
і -c
варіанти роботи в т.р. команді. Коли я це роблю
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
.
-s
перемикач змушуєtr
видавити будь-які символи з останнього аргументу доtr
(не першого, як ви кажете), які повторюються на вході. Це зазначається у статті, яку ви пов’язали, і пояснюється в останньому абзаці в розділі "Опис" довідкової сторінки .