Comment fonctionnent les options '-s', '-t' et '-c' de la commande tr sous Unix ?
Je suis confus quant au chemin à suivre -s
, -t
, et les options -c
fonctionnent dans la commande tr. Quand je fais
echo I am a good boy | tr good bad
J'obtiens la sortie:
I am a bddd bdy
C'est tout à fait compréhensible, puisque o
est répété dans good
. Le dernier changement possible à la place de o
est d
, et donc la sortie.
Maintenant quand je le fais
echo I am a good boy | tr -s good bad
La sortie est
I am a bd bdy
L'option -s
est censée presser chaque occurrence répétée de chaque caractère de l'ensemble 1 en une seule occurrence, puis changez chaque caractère de l'ensemble 1 en caractère correspondant de l'ensemble 2 qui est dans la même position.
Donc ça aurait dû être
I am a bad bay.
Pourquoi ce changement?
De plus, quand je fais
echo I am a good boy | tr -c good bad
Je reçois dddddddgoodddodd
Comment fonctionne l'option -c
pour tr
, en se référant à cet exemple?
Et enfin: comment me changer d'un bon garçon à un mauvais garçon.... :) :P C'est-à-dire
echo I am a good boy | tr <something>
me donne la sortie comme: I am a bad boy
.