Tr (Unix)

tr
Typ softwarustandardní UNIXová utilita či příkaz
Některá data mohou pocházet z datové položky.

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 md 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

V tomto článku byl použit překlad textu z článku Tr (Unix) na anglické Wikipedii.

Literatura

  • BRANDEJS, Michal. UNIX – LINUX. Praktický průvodce. Praha: Grada Publishing, 1996. 341 s. ISBN 80-7169-170-4. 

Související články

Externí odkazy

  • tr(1) – Manuálová stránka příkazu tr z 8. vydání OS Unix.
  • [1] Manuálová stránka programu tr – neplatný odkaz !
  • Příklady použití příkazu tr na examplenow.com
Pahýl
Pahýl
Tento článek je příliš stručný nebo postrádá důležité informace.
Pomozte Wikipedii tím, že jej vhodně rozšíříte. Nevkládejte však bez oprávnění cizí texty.
Příkazy a programy příkazové řádky Unixu (více)
Správa souborů
catchattr • cd • chmodchownchgrpcksumcmp • cp • du • df • filefsck • fuser • ln • ls • lsattr • lsofmkdirmount • mv • pwd • rm • rmdir • split • touch
Správa procesů
at • chrootcrontab • exit • kill • killall • nice • pgreppidofpkill • ps • pstreesleep • time • top • wait • watch
Správa uživatelů a prostředí
env • finger • id • lognamemesgpasswd • su • sudounameuptime • w • wall • who • whoamiwrite
Zpracování textu
awkcommcsplitcutdiff • ed • ex • fmt • headiconvjoin • less • more • patchpaste • read • sedsorttactail • tee • tr • uniq • wc • xargs
Programování v shellu
alias • basename • echo • expr • false • printf • test • true • unset
Síťová komunikace
dig • inetd • host • ifconfignetstatnslookuppingrloginnctraceroute
Hledání
findgrepstrings
Ostatní
banner • bc • cal • date • dd • look • lp • man • size • yes