Tr Kommando

Aus Si:Wiki von Siegrist SystemLösungen - Informatik und Rezepte
Version vom 17. Mai 2021, 16:35 Uhr von Sigi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: « : Mit <code> tr </code> können Zeichen ersetzt, komprimiert oder gelöscht werden. Synopsis: <syntaxhighlight lang="bash"> tr [option]... SET1 [SET2] </s…»)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Mit tr können Zeichen ersetzt, komprimiert oder gelöscht werden.


Synopsis:
 tr [option]... SET1 [SET2]


tr akzeptiert zwei Zeichensätze SET1 und SET2, in der Regel mit der gleichen Länge, und ersetzt die Zeichen des ersten Satzes durch die entsprechenden Zeichen des zweiten Satzes.
Ein SET ist im Grunde eine Zeichenkette, einschließlich Sonderzeichen als interpretierte Folgen mit Backslash.

Zeichen ersetzen

echo "123abcABC" | tr "abc" "xyz"

oder

echo "123abcABC" | tr "a-c" "x-z"
ergibt 123xyzABC

Gross/Klein umwandeln:

echo "123abcABC" | tr "a-z" "A-Z"
ergibt 123ABCABC


Mit -c (--complement) Option werden alle Zeichen ausser jenen in SET1 ersetzt:

echo "123abcABC" | tr -c "abc" "0"
ergibt 000abc0000

Das überzälige 0 am Schluss ist das unsichtbare \n des echo Kommandos. Es gibt 2 Möglichkeiten das zu verhindern:

echo -n "123abcABC" | tr -c "abc" "0"
oder
echo "123abcABC" | tr -c "abc\n" "0"
ergibt 000abc000


Zeichen komprimieren -s (--squeeze-repeats)

-s ersetzt eine Folge von wiederholtem Auftreten eines Zeichens durch ein (anderes) Zeichen.

Nur mit SET1:

echo "SI     Wiki" | tr -s " "
ergibt SI Wiki


mit SET1 und SET2:

echo "SI     Wiki" | tr -s " " ":"
ergibt SI:Wiki


Zeichen löschen -d (--delete)

Alle Vorkommen der Zeichen aus SET1 werden gelöscht.

echo "SI     Wiki" | tr -d " i"
ergibt SIWk


Einige tr Beispiele