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