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