Loading AI tools
comando nei sistemi operativi Unix-like Da Wikipedia, l'enciclopedia libera
tr è un comando disponibile nei sistemi operativi Unix e Unix-like . È un'abbreviazione di translate o transliterate, che indica che la sua funzione è di sostituzione o rimozione di caratteri dai dati di input.
Lo strumento legge un flusso di byte dall'input standard e scrive il risultato nell'output standard . Come argomenti, accetta due insiemi di caratteri (generalmente della stessa dimensione) e sostituisce le occorrenze dei caratteri nel primo gruppo con gli elementi corrispondenti del secondo. Per esempio,
tr 'abcd' 'jkmn'
sostituisce tutti i caratteri del testo in ingresso da a a j, da b a k, da c a m e da d a n .
L'insieme di caratteri può essere abbreviato utilizzando intervalli di caratteri. L'esempio precedente potrebbe essere riscritto così:
tr 'a-d' 'jkmn'
Nelle versioni compatibili con POSIX di tr
, l'insieme rappresentato da un intervallo di caratteri dipende dall'ordine alfabetico della lingua dell'elaboratore, quindi è più sicuro evitare intervalli di caratteri negli script che potrebbero essere eseguiti in una lingua diversa da quella in cui sono stati scritti. Gli intervalli possono spesso essere sostituiti con set di caratteri POSIX come [:alpha:].
Il flag s
fa sì che tr
comprima sequenze di caratteri identici in input in un singolo carattere nel suo output. Per esempio,
tr -s '\n'
sostituisce le sequenze di uno o più caratteri di newline con uno solo "a capo".
Il flag d
fa sì che tr
cancelli tutte le occorrenze dell'insieme di caratteri specificato dal suo input. In questo caso viene utilizzato un solo argomento. Il seguente comando rimuove i caratteri di carriage return.
tr -d '\r'
L'opzione c
indica il complemento del primo insieme di caratteri. L'invocazione
tr -cd '[:alnum:]'
quindi rimuove tutti i caratteri non alfanumerici.
La versione di tr
presente in coreutils GNU è stata scritta da Jim Meyering.[1]
Il comando è disponibile anche nella shell OS-9.[2]
Un comando tr
è presente anche tra gli MSX-DOS2 Tools di ASCII per MSX-DOS versione 2.[3]
La maggior parte delle versioni di tr
, tra cui GNU tr
e Unix classico tr
, operano su caratteri a byte singolo e non supportano Unicode . Un'eccezione è l'implementazione di Heirloom Toolchest, che fornisce il un supporto Unicode di base.
Anche Ruby e Perl hanno un operatore tr interno, che funziona in modo analogo.[4][5] Il comando map string di Tcl è più generale in quanto mappa stringhe a stringhe mentre tr mappa caratteri a caratteri.[6]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.