Recherche de site Web

10 exemples de commandes tr sous Linux


tr (abréviation de translate) est un utilitaire de ligne de commande utile qui traduit et/ou supprime les caractères de l'entrée stdin et écrit sur la sortie standard. C'est un programme utile pour manipuler du texte sur la ligne de commande.

Cet article expliquera quelques exemples de commandes tr utiles pour les débutants sous Linux.

La syntaxe pour exécuter la commande tr est la suivante, où les caractères de SET1 sont traduits en caractères de SET2.

tr flags [SET1] [SET2]

Exemples de commandes Linux tr

1. Un cas d'utilisation simple de la commande tr consiste à remplacer toutes les lettres minuscules du texte en majuscules et vice versa, comme indiqué ci-dessous.

$ 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. Vous pouvez également utiliser la commande suivante pour changer toutes les lettres minuscules en majuscules dans un fichier, comme indiqué.

$ 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. Pour enregistrer les résultats écrits sur stdout dans un fichier pour un traitement ultérieur, utilisez la fonction de redirection de sortie du shell (>) comme indiqué.

$ 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. En ce qui concerne la redirection, vous pouvez envoyer l'entrée à tr en utilisant la redirection d'entrée et rediriger la sortie vers un fichier en utilisant la même commande, comme indiqué.

$ tr [a-z] [A-Z] < linux.txt >output.txt

5. Une autre fonctionnalité utile est que vous pouvez utiliser l'indicateur -d pour supprimer des caractères, par exemple, pour supprimer les espaces dans les noms de domaine à l'aide de la commande suivante.

$ 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. S'il y a des caractères répétés dans une séquence (par exemple des espaces doubles) dans le texte que vous traitez, vous pouvez utiliser l'option -s pour presser les caractères en ne laissant que une seule occurrence de celui-ci.

$ 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'option -c indique à tr d'utiliser le complément dans le donné de SET. Dans cet exemple, nous souhaitons supprimer toutes les lettres et ne conserver que le UID.

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"
OR
$ echo "My UID is $UID" | tr -d "a-zA-Z"

8. Voici un exemple de division d'une seule ligne de mots (phrase) en plusieurs lignes, où chaque mot apparaît séparément.

$ echo "My UID is $UID"

My UID is 1000

$ echo "My UID is $UID" | tr " "  "\n"

My 
UID 
is 
1000

9. En lien avec l'exemple précédent, vous pouvez également traduire plusieurs lignes de mots en une seule phrase, comme indiqué.

$ cat uid.txt

My 
UID 
is 
1000

$ tr "\n" " " < uid.txt

My UID is 1000

10. Il est également possible de traduire un seul caractère, par exemple un espace, en un caractère “ : ”, comme suit.

$ echo "linux-console.net =>Linux-HowTos,Guides,Tutorials" | tr " " ":"

linux-console.net:=>Linux-HowTos,Guides,Tutorials

Il existe plusieurs caractères de séquence que vous pouvez utiliser avec tr. Pour plus d'informations, consultez la page de manuel tr.

man tr

C'est tout! tr est une commande utile pour manipuler du texte sur la ligne de commande. Dans ce guide, nous avons montré quelques exemples utiles d'utilisation de la commande tr pour les débutants sous Linux. Vous pouvez partager vos réflexions avec nous via le formulaire de commentaires ci-dessous.