The tr command je nástroj příkazového řádku systému UNIX pro překlad nebo mazání znaků. Podporuje řadu transformací včetně velkých písmen na malá, mačkání opakujících se znaků, mazání specifických znaků a základní hledání a nahrazování. Lze jej použít s rourami UNIX pro podporu složitějšího překladu. tr znamená přeložit.
Syntaxe:
$ tr [OPTION] SET1 [SET2]>
Možnosti -c : doplňuje sadu znaků v řetězci, tj. operace se vztahují na znaky, které nejsou v dané sadě -d : smazat znaky v první sadě z výstupu. -s : nahradí opakované znaky uvedené v sadě1 jediným výskytem -t : zkrátí sadu1.
Ukázkové příkazy
1. Jak převést malá písmena na velká písmena. Chcete-li převést znaky z malých písmen na velká, můžete buď zadat rozsah znaků, nebo použít předdefinované třídy znaků.
spouštění skriptů v linuxu
$ cat greekfile>
Výstup:
WELCOME TO techcodeview.com>
$ cat greekfile | tr [a-z] [A-Z]>
Výstup:
WELCOME TO GEEKSFORGEEKS>
nebo
$ cat greekfile | tr [:lower:] [:upper:]>
Výstup:
WELCOME TO GEEKSFORGEEKS>
Případně můžete zadat vstup pro tr příkaz pomocí přesměrování:
java int do char
tr [:lower:] [:upper:]>
Výstup:
WELCOME TO GEEKSFORGEEKS>
2. Jak převést mezery na tabulátory. Následující příkaz převede všechny prázdné znaky na tabulátory
$ echo 'Welcome To techcodeview.com' | tr [:space:] ' '>
Výstup:
Welcome To techcodeview.com>
V předchozím příkladu můžeme také použít přesměrování k poskytnutí vstupu pro tr . I když tentokrát k tomu použijeme řetězec zde:
velikonoční vajíčka pro android
tr [:space:] ' ' <<< 'Welcome To techcodeview.com'>
Výstup:
Welcome To techcodeview.com>
3. Jak převést rovnátka do závorek. Můžete také překládat ze souboru a do souboru. V tomto příkladu přeložíme závorky v souboru se závorkami.
$ cat greekfile>
Výstup:
{WELCOME TO} techcodeview.com> $ tr '{}' '()' newfile.txt> Výstup:
(WELCOME TO) techcodeview.com>
Výše uvedený příkaz přečte každý znak z geekfile.txt, přeloží, pokud se jedná o složenou závorku, a zapíše výstup do newfile.txt.
numpy směrodatná odchylka
4. Jak zmáčknout sekvenci opakujících se znaků pomocí volby -s. Chcete-li zmáčknout opakující se výskyty znaků zadaných v sadě, použijte volbu -s. Tím se odstraní opakované výskyty znaků poslední zadané SET. NEBO můžeme říci, že můžete převést více souvislých prostorů jednou mezerou
$ echo 'Welcome To techcodeview.com' | tr -s ' '>
Výstup:
Welcome To techcodeview.com>
A znovu proveďte stejný úkol, ale pomocí řetězce zde:
tr -s ' ' <<< 'Welcome To techcodeview.com'>
Výstup:
Welcome To techcodeview.com>
5. Jak odstranit zadané znaky pomocí volby -d. Chcete-li odstranit určité znaky, použijte volbu -d. Tato možnost odstraní znaky v první zadané sadě.
$ echo 'Welcome To techcodeview.com' | tr -d W>
Výstup:
elcome To techcodeview.com>
Nebo ekvivalentně použijte:
tr -d W <<< 'Welcome to techcodeview.com'>
Výstup:
elcome To techcodeview.com>
6. Chcete-li odstranit všechny číslice z řetězce, můžete použít
$ echo 'my ID is 73535' | tr -d [:digit:]>
nebo
$ tr -d [:digit:] <<< 'my ID is 73535'>
Výstup:
arraylist.sort
my ID is>
7. Jak doplnit sady pomocí volby -c SET1 můžete doplnit pomocí volby -c. Chcete-li například odstranit všechny znaky kromě číslic, můžete použít následující.
$ echo 'my ID is 73535' | tr -cd [:digit:]>
nebo
$ tr -cd [:digit:] <<< 'my ID is 73535'>
Výstup:
73535>