Startseite > Textverarbeitung & Suche > tr

tr: Filter zum Umwandeln und Löschen von Zeichen

Der Befehl tr ist ein Filterbefehl, der verwendet wird, um Zeichen in Texten, die über die Standardeingabe (stdin) empfangen werden, umzuwandeln oder zu löschen. Er ist besonders nützlich in Verbindung mit Pipes (|), um die Ausgabe anderer Befehle zu verarbeiten.

Übersicht

tr (translate) dient, wie der Name schon sagt, dazu, Zeichen zu 'übersetzen' oder 'zu ersetzen'. Es ist spezialisiert auf einfache Zeichen-für-Zeichen-Transformationen, wie z. B. das Umwandeln von Kleinbuchstaben in Großbuchstaben, das Ersetzen bestimmter Zeichen durch andere oder das Umwandeln von Zeilenumbrüchen in Leerzeichen. Im Gegensatz zu `sed` oder `awk`, die komplexe Mustererkennung auf Zeilenebene unterstützen, ist `tr` bei der zeichenbasierten Verarbeitung sehr schnell und effizient.

Hauptmerkmale

Die Hauptmerkmale des tr-Befehls sind:

  • Wandelt Text zeichenweise um oder löscht ihn.
  • Empfängt Daten nur über die Standardeingabe (stdin).
  • Verwendet keine regulären Ausdrücke.
  • Wird häufig in Verbindung mit Pipes (`|`) verwendet, um die Ausgabe anderer Befehle zu verarbeiten.

Grundlegende Syntax von tr

Der tr-Befehl nimmt im Wesentlichen zwei Zeichenketten (Sets) als Argumente entgegen.

  • `tr 'set1' 'set2'`: Wandelt Zeichen aus `set1` 1:1 in die entsprechenden Zeichen aus `set2` um.
  • `tr -d 'set1'`: Löscht alle Zeichen, die in `set1` enthalten sind.

Wichtige Optionen

Die häufig verwendeten Optionen des tr-Befehls wurden nach ihrem Zweck gruppiert.

1) Funktionsoptionen

2) Sonderzeichen & Mengen

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`tr` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Lernen Sie die Funktionen des tr-Befehls durch verschiedene Anwendungsbeispiele kennen.

Kleinbuchstaben in Großbuchstaben umwandeln

echo 'hello world' | tr '[:lower:]' '[:upper:]'

Wandelt Kleinbuchstaben, die über die Standardeingabe empfangen wurden, in Großbuchstaben um und gibt sie aus.

Bestimmte Zeichen löschen

echo 'hello   world' | tr -d ' '

Löscht alle Leerzeichen (` `) aus dem Text.

Zeilenumbrüche in Leerzeichen umwandeln

cat file.txt | tr '\n' ' '

Wandelt Zeilenumbruchzeichen (`\n`) im Dateiinhalt in Leerzeichen (` `) um und gibt den Inhalt in einer einzigen Zeile aus.

Doppelte Leerzeichen komprimieren

echo 'hello     world' | tr -s ' '

Komprimiert aufeinanderfolgende, wiederholte Leerzeichen zu einem einzigen Leerzeichen. Die Option `-s` führt die Funktion zum Komprimieren doppelter Zeichenketten aus.

Großbuchstaben in Kleinbuchstaben umwandeln

echo 'HELLO WORLD' | tr 'A-Z' 'a-z'

Wandelt Großbuchstaben, die über die Standardeingabe empfangen wurden, in Kleinbuchstaben um und gibt sie aus.

Tipps & Hinweise

Wichtige Hinweise zur Verwendung des tr-Befehls sind hier zusammengefasst.

Tipps

  • tr akzeptiert keine Dateinamen direkt als Argumente. Der Text muss immer über die Standardeingabe, z. B. mittels `cat` oder `echo`, übergeben werden.
  • Es wird empfohlen, beim Übergeben von Zeichenketten als Argumente einfache Anführungszeichen (`'`) zu verwenden, um zu verhindern, dass die Shell Sonderzeichen interpretiert.
  • `tr` ist im Vergleich zu `sed` oder `awk` funktional einfacher, hat aber den Vorteil, dass es bei zeichenbasierten Transformationsaufgaben wesentlich schneller ist.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.


Gleiche Kategorie Befehle