Das Dienstprogramm liest einen Bytestrom aus seiner Standardeingabe und schreibt das Ergebnis in die Standardausgabe. Als Argumente werden zwei Zeichensätze (im Allgemeinen gleich lang) verwendet und Vorkommen der Zeichen im ersten Satz durch die entsprechenden Elemente aus dem zweiten Satz ersetzt. Beispiel:

tr 'abcd' 'jkmn'

ordnet alle Zeichen a bis j, b bis k, c bis m und d bis n.

Der Zeichensatz kann mithilfe von Zeichenbereichen abgekürzt werden., Das vorherige Beispiel könnte geschrieben werden:

tr 'a-d' 'jkmn'

In POSIX-konformen Versionen von tr hängt der durch einen Zeichenbereich dargestellte Satz von der Sortierreihenfolge des Gebietsschemas ab, sodass es sicherer ist, Zeichenbereiche in Skripten zu vermeiden, die möglicherweise in einem anderen Gebietsschema ausgeführt werden als dem, in dem sie geschrieben wurden. Bereiche können oft mit POSIX-Zeichensätzen wie ersetzt werden .

Das Flag s bewirkt, dass tr Sequenzen identischer benachbarter Zeichen in seiner Ausgabe zu einem einzelnen Token komprimiert., Beispielsweise ersetzt

tr -s '\n'

Sequenzen eines oder mehrerer Zeilenumbruchszeichen durch eine einzelne Zeilenumbruchszeile.

Das Flag d bewirkt, dass tr alle Token des angegebenen Zeichensatzes aus seiner Eingabe löscht. In diesem Fall wird nur ein einzelnes Zeichensatzargument verwendet. Der folgende Befehl entfernt Wagenrücklaufzeichen.

tr -d '\r'

Das Flag c gibt das Komplement des ersten Zeichensatzes an., Der Aufruf

tr -cd ''

entfernt daher alle nicht alphanumerischen Zeichen.