Ich bin verwirrt über die Art und Weise -s
, -t
und -c
Optionen funktionieren im Befehl tr . Wenn ich es tue
echo I am a good boy | tr good bad
Ich bekomme die Ausgabe:
I am a bddd bdy
Dies ist durchaus verständlich, da o
in wiederholt wird good
. Die letzte mögliche Änderung anstelle von o
ist d
und damit die Ausgabe.
Jetzt wenn ich es tue
echo I am a good boy | tr -s good bad
die Ausgabe ist
I am a bd bdy
Die -s
Option soll jedes wiederholte Auftreten jedes Zeichens in Satz 1 in ein einzelnes Vorkommen zusammenfassen und dann jedes Zeichen in Satz 1 in das entsprechende Zeichen in Satz 2 ändern, das sich an derselben Position befindet.
So hätte es sein sollen
I am a bad bay.
Warum die Änderung?
Außerdem, wenn ich es tue
echo I am a good boy | tr -c good bad
Ich bekomme dddddddgoodddodd
Wie funktioniert die -c
Option tr
anhand dieses Beispiels?
Und zum Schluss: wie ich mich von einem guten zu einem bösen Jungen verwandeln kann .... :): P Das heißt,
echo I am a good boy | tr <something>
gibt mir die Ausgabe als : I am a bad boy
.
-s
Schalter dazu führttr
, dass alle Zeichen vom letzten Argument bis zumtr
(nicht dem ersten, wie Sie sagen) gequetscht werden, die in der Eingabe wiederholt werden. Dies wird in dem von Ihnen verlinkten Artikel vermerkt und im letzten Absatz im Abschnitt "Beschreibung" der Manpage erläutert .