comando tr in Unix/Linux con esempi

IL tr command è un'utilità della riga di comando UNIX per tradurre o eliminare caratteri. Supporta una serie di trasformazioni tra cui da maiuscolo a minuscolo, compressione di caratteri ripetuti, eliminazione di caratteri specifici e ricerca e sostituzione di base. Può essere utilizzato con pipe UNIX per supportare traduzioni più complesse. tr sta per tradurre.

Sintassi:

 $ tr [OPTION] SET1 [SET2] 

Opzioni -c: integra il set di caratteri in string.ovvero, le operazioni si applicano ai caratteri non presenti nel set specificato -d: cancella i caratteri nel primo set dall'output. -s: sostituisce i caratteri ripetuti elencati nel set1 con una singola occorrenza -t: tronca set1.

Comandi di esempio

1. Come convertire i caratteri minuscoli in maiuscoli. Per convertire i caratteri da minuscolo a maiuscolo, è possibile specificare un intervallo di caratteri oppure utilizzare le classi di caratteri predefinite.

 $ cat greekfile 

Produzione:

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

Produzione:

WELCOME TO GEEKSFORGEEKS 

O

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

Produzione:

WELCOME TO GEEKSFORGEEKS 

In alternativa, è possibile fornire input per il file tr comando utilizzando il reindirizzamento:

 tr [:lower:] [:upper:] 

Produzione:

WELCOME TO GEEKSFORGEEKS 

2. Come tradurre i caratteri degli spazi bianchi in tabulazioni. Il comando seguente traduce tutti i caratteri degli spazi vuoti in tabulazioni

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

Produzione:

Welcome To techcodeview.com 

Nell'esempio precedente possiamo anche utilizzare il reindirizzamento per fornire input tr . Anche se questa volta utilizzeremo una stringa qui per questo:

 tr [:space:] '	'  < < < 'Welcome To techcodeview.com' 

Produzione:

Welcome To techcodeview.com 

3. Come tradurre le parentesi graffe in parentesi. Puoi anche tradurre da e verso un file. In questo esempio tradurremo le parentesi graffe in un file con parentesi.

 $ cat greekfile 

Produzione:

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

Produzione:

(WELCOME TO) techcodeview.com 

Il comando precedente leggerà ogni carattere da geekfile.txt, tradurrà se si tratta di una graffa e scriverà l'output in newfile.txt.

4. Come comprimere una sequenza di caratteri ripetitivi utilizzando l'opzione -s. Per comprimere le occorrenze ripetitive dei caratteri specificati in un set, utilizzare l'opzione -s. Ciò rimuove le istanze ripetute di caratteri dell'ultimo SET specificato. OPPURE possiamo dire che puoi convertire più spazi continui con un unico spazio

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

Produzione:

Welcome To techcodeview.com 

E ancora, esegui la stessa operazione ma utilizzando una stringa qui:

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

Produzione:

Welcome To techcodeview.com 

5. Come eliminare i caratteri specificati utilizzando l'opzione -d. Per eliminare caratteri specifici utilizzare l'opzione -d. Questa opzione elimina i caratteri nel primo set specificato.

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

Produzione:

elcome To techcodeview.com 

O equivalentemente utilizzare:

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

Produzione:

elcome To techcodeview.com 

6. Per rimuovere tutte le cifre dalla stringa, è possibile utilizzare

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

O

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

Produzione:

my ID is 

7. Come integrare i set utilizzando l'opzione -c Puoi integrare il SET1 usando l'opzione -c. Ad esempio, per rimuovere tutti i caratteri tranne le cifre, è possibile utilizzare quanto segue.

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

O

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

Produzione:

73535