L’utilità legge un flusso di byte dal suo standard input e scrive il risultato nello standard output. Come argomenti, prende due set di caratteri (generalmente della stessa lunghezza) e sostituisce le occorrenze dei caratteri nel primo set con gli elementi corrispondenti del secondo set. Ad esempio,
tr 'abcd' 'jkmn'
mappa tutti i caratteri da a a j, da b a k, da c a m e da d a n.
Il set di caratteri può essere abbreviato utilizzando intervalli di caratteri., L’esempio precedente può essere scritta:
tr 'a-d' 'jkmn'
POSIX-compliant versioni di tr
, l’insieme rappresentato da un intervallo di caratteri dipende dalla localizzazione dell’ordine di confronto, quindi è più sicuro per evitare intervalli di caratteri in script che potrebbe essere eseguita in un locale diverso da quello in cui sono stati scritti. Gli intervalli possono spesso essere sostituiti con set di caratteri POSIX come .
Il flag s
fa sì che tr
comprima sequenze di caratteri adiacenti identici nel suo output in un singolo token., Ad esempio,
tr -s '\n'
sostituisce le sequenze di uno o più caratteri di nuova riga con una singola nuova riga.
Il flag d
fa sì che tr
elimini tutti i token del set di caratteri specificato dal suo input. In questo caso, viene utilizzato solo un singolo argomento del set di caratteri. Il seguente comando rimuove i caratteri di ritorno a capo.
tr -d '\r'
Il flagc
indica il complemento del primo set di caratteri., L’invocazione
tr -cd ''
rimuove quindi tutti i caratteri non alfanumerici.