10 esempi di comandi tr in Linux
tr (abbreviazione di translate) è un'utile utility da riga di comando che traduce e/o cancella caratteri dall'input stdin e scrive su stdout. È un programma utile per manipolare il testo sulla riga di comando.
Questo articolo spiegherà alcuni utili esempi di comandi tr per i principianti di Linux.
La sintassi per eseguire il comando tr è la seguente, dove i caratteri in SET1 vengono tradotti in caratteri in SET2.
tr flags [SET1] [SET2]
Esempi di comandi Linux tr
1. Un semplice caso d'uso del comando tr consiste nel cambiare tutte le lettere minuscole nel testo in maiuscole e viceversa, come mostrato di seguito.
$ cat linux.txt
linux is my life
linux has changed my life
linux is best and everthing to me..:)
$ cat linux.txt | tr [:lower:] [:upper:]
LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)
2. In alternativa, puoi utilizzare il comando seguente per modificare tutte le lettere minuscole in maiuscole in un file, come mostrato.
$ cat linux.txt | tr [a-z] [A-Z]
LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)
3. Per salvare i risultati scritti su stdout in un file per un'elaborazione successiva, utilizza la funzione di reindirizzamento dell'output della shell (>)
come mostrato.
$ cat linux.txt | tr [a-z] [A-Z] >output.txt
$ cat output.txt
LINUX IS MY LIFE
LINUX HAS CHANGED MY LIFE
LINUX IS BEST AND EVERTHING TO ME..:)
4. Per quanto riguarda il reindirizzamento, puoi inviare input a tr utilizzando il reindirizzamento dell'input e reindirizzare l'output a un file utilizzando lo stesso comando, come mostrato.
$ tr [a-z] [A-Z] < linux.txt >output.txt
5. Un'altra caratteristica utile è che puoi utilizzare il flag -d
per eliminare caratteri, ad esempio per rimuovere gli spazi nei nomi di dominio utilizzando il seguente comando.
$ cat domains.txt
www. tecmint. com
www. fossmint. com
www. linuxsay. com
$ cat domains.txt | tr -d ''
linux-console.net
www.fossmint.com
www.linuxsay.com
6. Se ci sono caratteri ripetuti in una sequenza (ad esempio doppi spazi) nel testo che stai elaborando, puoi utilizzare l'opzione -s
per comprimere i caratteri lasciando solo un'occorrenza di esso.
$ cat domains.txt
www.tecmint.....com
www.fossmint.com
www.linuxsay.com
$ cat domains.txt | tr -s ''
linux-console.net
www.fossmint.com
www.linuxsay.com
7. L'opzione -c
dice a tr di usare il complemento nel dato di SET. In questo esempio, vogliamo eliminare tutte le lettere e lasciare solo l'UID.
$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"
8. Ecco un esempio di suddivisione di una singola riga di parole (frase) in più righe, in cui ciascuna parola appare separatamente.
$ echo "My UID is $UID"
My UID is 1000
$ echo "My UID is $UID" | tr " " "\n"
My
UID
is
1000
9. In relazione all'esempio precedente, puoi anche tradurre più righe di parole in un'unica frase, come mostrato.
$ cat uid.txt
My
UID
is
1000
$ tr "\n" " " < uid.txt
My UID is 1000
10. È anche possibile tradurre un solo carattere, ad esempio uno spazio, in un carattere “ : ”
, come segue.
$ echo "linux-console.net =>Linux-HowTos,Guides,Tutorials" | tr " " ":"
linux-console.net:=>Linux-HowTos,Guides,Tutorials
Esistono diversi caratteri di sequenza che puoi utilizzare con tr; per ulteriori informazioni, consulta la pagina man tr.
man tr
È tutto! tr è un comando utile per manipolare il testo sulla riga di comando. In questa guida abbiamo mostrato alcuni utili esempi di utilizzo del comando tr per i principianti di Linux. Puoi condividere i tuoi pensieri con noi tramite il modulo di commento qui sotto.