tr ukaz v Unix/Linux s primeri
The tr ukaz je pripomoček ukazne vrstice UNIX za prevajanje ali brisanje znakov. Podpira vrsto transformacij, vključno z velikimi črkami v male črke, stiskanjem ponavljajočih se znakov, brisanjem določenih znakov ter osnovnim iskanjem in zamenjavo. Uporablja se lahko s cevmi UNIX za podporo bolj zapletenega prevajanja. tr pomeni prevesti.
Sintaksa:
$ tr [OPTION] SET1 [SET2]
Opcije -c : dopolnjuje niz znakov v nizu, tj. operacije veljajo za znake, ki niso v danem nizu -d : iz izhoda izbrišejo znake v prvem nizu. -s : zamenja ponovljene znake, navedene v nizu1, z enim pojavitvijo -t : skrajša niz1.
Vzorčni ukazi
1. Kako pretvoriti male črke v velike. Če želite pretvoriti znake iz malih v velike črke, lahko določite obseg znakov ali uporabite vnaprej določene razrede znakov.
$ cat greekfile
Izhod:
WELCOME TO techcodeview.com
$ cat greekfile | tr [a-z] [A-Z]
Izhod:
WELCOME TO GEEKSFORGEEKS
oz
$ cat greekfile | tr [:lower:] [:upper:]
Izhod:
WELCOME TO GEEKSFORGEEKS
Druga možnost je, da podate vnos za tr ukaz z uporabo preusmeritve:
tr [:lower:] [:upper:]
Izhod:
WELCOME TO GEEKSFORGEEKS
2. Kako prevesti presledke v tabulatorje. Naslednji ukaz prevede vse presledke v tabulatorje
$ echo 'Welcome To techcodeview.com' | tr [:space:] ' '
Izhod:
Welcome To techcodeview.com
V prejšnjem primeru lahko uporabimo tudi preusmeritev, da zagotovimo vnos za tr . Čeprav bomo tokrat za to uporabili niz tukaj:
tr [:space:] ' ' < < < 'Welcome To techcodeview.com'
Izhod:
Welcome To techcodeview.com
3. Kako prevesti oklepaje v oklepaj. Prav tako lahko prevajate iz in v datoteko. V tem primeru bomo prevedli oklepaje v datoteko z oklepaji.
$ cat greekfile
Izhod:
{WELCOME TO} techcodeview.com $ tr '{}' '()' newfile.txt Izhod:
(WELCOME TO) techcodeview.com
Zgornji ukaz bo prebral vsak znak iz geekfile.txt, prevedel, če je oklepaj, in zapisal izhod v newfile.txt.
4. Kako stisniti zaporedje ponavljajočih se znakov z uporabo možnosti -s. Če želite stisniti ponavljajoče se pojavitve znakov, navedenih v nizu, uporabite možnost -s. To odstrani ponavljajoče se primerke znakov zadnjega podanega SET-a. ALI lahko rečemo, da lahko pretvorite več neprekinjenih presledkov z enim presledkom
$ echo 'Welcome To techcodeview.com' | tr -s ' '
Izhod:
Welcome To techcodeview.com
In spet izpolnite isto nalogo, vendar tukaj uporabite niz:
tr -s ' ' < < < 'Welcome To techcodeview.com'
Izhod:
Welcome To techcodeview.com
5. Kako izbrisati določene znake z uporabo možnosti -d. Če želite izbrisati določene znake, uporabite možnost -d. Ta možnost izbriše znake v prvem podanem nizu.
$ echo 'Welcome To techcodeview.com' | tr -d W
Izhod:
elcome To techcodeview.com
Ali enakovredno uporabite:
tr -d W < < < 'Welcome to techcodeview.com'
Izhod:
elcome To techcodeview.com
6. Če želite odstraniti vse števke iz niza, lahko uporabite
$ echo 'my ID is 73535' | tr -d [:digit:]
oz
$ tr -d [:digit:] < < < 'my ID is 73535'
Izhod:
my ID is
7. Kako dopolniti nabore z možnostjo -c SET1 lahko dopolnite z možnostjo -c. Če želite na primer odstraniti vse znake razen števk, lahko uporabite naslednje.
$ echo 'my ID is 73535' | tr -cd [:digit:]
oz
$ tr -cd [:digit:] < < < 'my ID is 73535'
Izhod:
73535