Tr (Unix)
tr je příkaz v unixových operačních systémech pro nahrazování zadaných znaků jinými nebo jejich vypouštění. Jeho jméno je zkratka z anglického translate nebo transliterate.

Program tr funguje jako filtr – čte proud bytů ze standardního vstupu a výsledek zapisuje na standardní výstup, aniž by měnil vstupní soubor. Pro nahrazování znaků je třeba zadat dva parametry; první zadává množinu znaků, které se mají nahrazovat, a druhý množinu znaků, kterými se budou nahrazovat.

Například tr 'abcd' 'jkmn' převádí všechny znaky a na j, b na k, c na m a d na n:

 $ echo abeceda |  tr 'a-d' 'jkmn'
 jkemenj

(Abecední posloupnost znaků lze zapsat pomocí rozsahu se spojovníkem (znak minus).)

Ve verzi příkazu tr podle standardu POSIX závisí množina zapsaná pomocí rozsahu na abecedním řazení v použitém národním nastavení, proto je nutné zvážit, zda se použití rozsahů nevyhnout, aby při spuštění skriptu s jiným národním nastavením nedošlo k nežádoucím efektům. Ve verzi podle standardu POSIX lze často místo rozsahů použít znakové množiny, jako například [:alpha:].

Volba -s způsobí, že tr bude nahrazovat posloupnost stejných znaků jediným znakem. Například

tr -s '\n'

nahrazuje posloupnosti jednoho nebo více znaků konce řádku jediným.

Volba -d způsobí, že tr bude vypouštět všechny znaky ze zadané množiny. V tomto případě se jako parametr zadává pouze jedna množina znaků. Následující příkaz bude odstraňovat znaky návrat vozíku:

tr -d '\r'

Volba -c způsobí, že se použije doplněk první množiny znaků. Vyvolání

tr -cd '[:alnum:]'

proto odstraní všechny nealfanumerické znaky.

Většina verzí příkazu tr, včetně GNU tr a klasického unixového tr, pracuje s jednobytovými znaky a není kompatibilní s Unicode. Výjimkou je implementace z Heirloom Toolchest, která obsahuje základní podpora Unicode.

Ruby a Perl mají interní operátor tr, který funguje podobně jako příkaz tr. Příkaz string map v Tcl je obecnější, protože umožňuje převádět řetězce na řetězce, zatímco příkaz tr převádí pouze znaky na znaky.

Odkazy

Reference

Literatura

Související články 
 Sed
 Seznam unixových utilit
 GNU Core Utilities

Externí odkazy 
 tr(1) – Manuálová stránka příkazu tr z 8. vydání OS Unix.
  Manuálová stránka programu tr – neplatný odkaz !
 Příklady použití příkazu tr na examplenow.com

Standardní unixové příkazy
Svobodný software