logo

tr-opdracht in Unix/Linux met voorbeelden

De tr command is een UNIX-opdrachtregelhulpprogramma voor het vertalen of verwijderen van tekens. Het ondersteunt een reeks transformaties, waaronder hoofdletters naar kleine letters, herhalende tekens samenknijpen, specifieke tekens verwijderen en eenvoudig zoeken en vervangen. Het kan worden gebruikt met UNIX-pipes om complexere vertalingen te ondersteunen. tr staat voor vertalen.

Syntaxis:



 $ tr [OPTION] SET1 [SET2]>

Opties -c: complementeert de set karakters in string.d.w.z. bewerkingen zijn van toepassing op karakters die niet in de gegeven set voorkomen. -d: verwijder karakters in de eerste set uit de uitvoer. -s: vervangt herhaalde tekens uit set1 door een enkele gebeurtenis. -t: kapt set1 af.

Voorbeeldopdrachten

1. Kleine letters naar hoofdletters converteren. Om tekens van kleine letters naar hoofdletters te converteren, kunt u een reeks tekens opgeven of de vooraf gedefinieerde tekenklassen gebruiken.



hoe muziek downloaden
 $ cat greekfile>

Uitgang:

WELCOME TO techcodeview.com>
 $ cat greekfile | tr [a-z] [A-Z]>

Uitgang:

WELCOME TO GEEKSFORGEEKS>

of



 $ cat greekfile | tr [:lower:] [:upper:]>

Uitgang:

WELCOME TO GEEKSFORGEEKS>

Als alternatief kunt u input leveren voor de tr commando met omleiding:

lezen uit een csv-bestand in Java
 tr [:lower:] [:upper:]>

Uitgang:

WELCOME TO GEEKSFORGEEKS>

2. Hoe u witruimtetekens naar tabbladen vertaalt. De volgende opdracht vertaalt alle witruimtetekens naar tabbladen

 $ echo 'Welcome To techcodeview.com' | tr [:space:] '	'>

Uitgang:

Welcome To techcodeview.com>

In het vorige voorbeeld kunnen we ook omleiding gebruiken om invoer voor te leveren tr . Hoewel we deze keer daarvoor een here-string zullen gebruiken:

Java-csv lezen
 tr [:space:] '	' <<< 'Welcome To techcodeview.com'>

Uitgang:

Welcome To techcodeview.com>

3. Hoe accolades naar haakjes te vertalen. U kunt ook van en naar een bestand vertalen. In dit voorbeeld vertalen we accolades in een bestand met haakjes.

 $ cat greekfile>

Uitgang:

{WELCOME TO} techcodeview.com>
 $ tr '{}' '()' newfile.txt>

Uitgang:

(WELCOME TO) techcodeview.com>

De bovenstaande opdracht leest elk teken uit geekfile.txt, vertaalt of het een accolade is en schrijft de uitvoer naar newfile.txt.

4. Hoe je een reeks repetitieve tekens kunt samenpersen met de optie -s. Om herhaalde tekens uit een set te verwijderen, gebruikt u de optie -s. Hiermee worden herhaalde exemplaren van tekens van de laatst opgegeven SET verwijderd. OF we kunnen zeggen dat je meerdere doorlopende ruimtes kunt converteren met een enkele spatie

 $ echo 'Welcome To techcodeview.com' | tr -s ' '>

Uitgang:

vergelijk in tekenreeks
Welcome To techcodeview.com>

En nogmaals, voer dezelfde taak uit, maar gebruik hier een string:

 tr -s ' ' <<< 'Welcome To techcodeview.com'>

Uitgang:

Welcome To techcodeview.com>

5. Hoe u gespecificeerde tekens verwijdert met de optie -d. Gebruik de optie -d om specifieke tekens te verwijderen. Met deze optie worden de tekens uit de eerste opgegeven set verwijderd.

 $ echo 'Welcome To techcodeview.com' | tr -d W>

Uitgang:

elcome To techcodeview.com>

Of gebruik op equivalente wijze:

 tr -d W <<< 'Welcome to techcodeview.com'>

Uitgang:

b+ bomen
elcome To techcodeview.com>

6. Om alle cijfers uit de reeks te verwijderen, kunt u gebruiken

 $ echo 'my ID is 73535' | tr -d [:digit:]>

of

 $ tr -d [:digit:] <<< 'my ID is 73535'>

Uitgang:

my ID is>

7. Hoe de sets aan te vullen met de optie -c Je kunt SET1 aanvullen met de optie -c. Als u bijvoorbeeld alle tekens behalve cijfers wilt verwijderen, kunt u het volgende gebruiken.

 $ echo 'my ID is 73535' | tr -cd [:digit:]>

of

 $ tr -cd [:digit:] <<< 'my ID is 73535'>

Uitgang:

73535>