ユーティリティは、標準入力からバイトストリームを読み取り、その結果を標準出力に書き込みます。 引数として、二つの文字セット(通常は同じ長さ)を取り、最初のセット内の文字の出現を第二のセットの対応する要素に置き換えます。 たとえば、

tr 'abcd' 'jkmn'

は、すべての文字をaからj、bからk、cからm、およびdからnにマップします。

文字セットは、文字範囲を使用して省略,

tr 'a-d' 'jkmn'

POSIX準拠のバージョンのtrでは、文字範囲で表されるセットはロケールの照合順序に依存するため、書き込まれたロケールとは異なるロケールで実行される可能性のあるスクリプトでは文字範囲を避ける方が安全です。 範囲は、多くの場合、POSIX文字セットなどに置き換えることができます。

sフラグにより、trは、出力内の同一の隣接する文字のシーケンスを単一のトークンに圧縮します。, たとえば、

tr -s '\n'

は、一つ以上の改行文字のシーケンスを単一の改行に置き換えます。

dフラグにより、tr指定された文字セットのすべてのトークンが入力から削除されます。 この場合、単一の文字セット引数のみが使用されます。 次のコマンドは、改行文字を削除します。

tr -d '\r'

cフラグは、最初の文字セットの補数を示します。, 呼び出し

tr -cd ''

したがって、英数字以外の文字はすべて削除されます。