Selon le type de travail que vous effectuez sur la ligne de commande sous Linux, vous souhaiterez peut-être un utilitaire pouvant agir comme un couteau suisse d'édition de texte rapide. Heureusement, il existe un outil nommé tr, qui remplit ce rôle. Dans ce didacticiel, nous aborderons les bases de tr à l'aide d'exemples faciles à comprendre.
Mais avant cela, il convient de mentionner que tous les exemples de cet article ont été testés sur une machine Ubuntu 18.04 LTS et sur Debian 10.
La commande Linux tr
Voici comment la page de manuel de l'outil l'explique :
Translate, squeeze, and/or delete characters from standard input, writing to standard output.
Et voici sa syntaxe :
tr [OPTION]... SET1 [SET2]
voici ce que signifie SET :
SETs are specified as strings of characters. Most represent themselves. Interpreted sequences are:
\NNN character with octal value NNN (1 to 3 octal digits)
\\ backslash
\a audible BEL
\b backspace
\f form feed
\n new line
\r return
\t horizontal tab
\v vertical tab
Voici quelques exemples de style Q&A qui devraient vous donner une meilleure idée du fonctionnement de la commande tr.
Q1. Comment convertir les minuscules en majuscules avec tr ?
Supposons que vous vouliez convertir la phrase "tutoriel Linux sur howtoforge" en majuscules, alors voici comment vous pouvez le faire en utilisant tr.
echo 'linux tutorial on howtoforge' | tr "[:lower:]" "[:upper:]"
La commande ci-dessus a produit la sortie suivante sur mon système :
LINUX TUTORIAL ON HOWTOFORGE
Q2. Comment supprimer les espaces supplémentaires à l'aide de tr ?
Supposons que vous ayez une ligne du type :"HowtoForge est une ressource extrêmement pour les didacticiels Linux". Et l'exigence est de supprimer les espaces supplémentaires de cette ligne.
Voici comment vous pouvez utiliser tr pour cela :
echo 'HowtoForge is an extremely good resource for Linux tutorials' | tr -s '[:space:]'
Voici le résultat :
HowtoForge is an extremely good resource for Linux tutorials
Q3. Comment supprimer du texte avec tr ?
Supposons que vous vouliez supprimer les traits d'union de la ligne suivante :"HowtoForge -- est -- une -- extrêmement -- bonne -- ressource -- pour -- Linux -- tutoriels." Alors voici comment vous pouvez faire cela en utilisant tr.
echo 'HowtoForge -- is -- an -- extremely -- good -- resource -- for -- Linux -- tutorials' | tr -d '-'
Voici la sortie qu'il produit :
HowtoForge is an extremely good resource for Linux tutorials
Q4. Comment remplacer des caractères avec tr ?
Dans la section précédente, supposons que l'exigence était de remplacer les traits d'union par, disons, des points. Alors voici comment vous pouvez le faire en utilisant tr.
echo 'HowtoForge -- is -- an -- extremely -- good -- resource -- for -- Linux -- tutorials' | tr '-' '.'
Voici le résultat produit :
HowtoForge .. is .. an .. extremely .. good .. resource .. for .. Linux .. tutorials
Conclusion
Vous pouvez donc voir que la commande tr est un outil extrêmement utile lorsqu'il s'agit d'éditer du texte. Nous avons discuté de certaines options principales ici, mais l'utilitaire offre également de nombreuses autres options de ligne de commande. Tout d'abord, essayez-les, et une fois que vous aurez une bonne idée de ce dont nous avons discuté ici, vous pourrez en savoir plus sur tr en vous rendant sur sa page de manuel.