Aperçu
tr (translate) sert, comme son nom l'indique, à 'traduire' ou 'substituer' des caractères. Il est spécialisé dans les opérations de transformation simples au niveau des caractères, telles que la conversion de minuscules en majuscules, la substitution d'un caractère par un autre, ou le remplacement des retours à la ligne par des espaces. Contrairement à `sed` ou `awk` qui prennent en charge la correspondance de motifs complexes ligne par ligne, `tr` est très rapide et efficace pour le traitement au niveau des caractères.
Caractéristiques principales
Les principales caractéristiques de la commande tr sont les suivantes :
- Transforme ou supprime du texte caractère par caractère.
- Ne reçoit des données que via l'entrée standard (stdin).
- N'utilise pas d'expressions régulières.
- Largement utilisé avec le pipe (`|`) pour traiter la sortie d'autres commandes.
Syntaxe de base de tr
La commande tr prend généralement deux ensembles de caractères (set) comme arguments.
- `tr 'set1' 'set2'`: Convertit les caractères de `set1` en caractères de `set2` en correspondance un à un.
- `tr -d 'set1'`: Supprime tous les caractères présents dans `set1`.
Options principales
Les options fréquemment utilisées de la commande tr sont regroupées par objectif.
1) Options fonctionnelles
2) Caractères spéciaux & Ensembles
Commande générée :
Essayez de combiner les commandes.
Description:
`tr` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Découvrez les fonctionnalités de la commande tr à travers divers exemples d'utilisation.
Convertir les minuscules en majuscules
echo 'hello world' | tr '[:lower:]' '[:upper:]'
Convertit les minuscules reçues via l'entrée standard en majuscules et les affiche.
Supprimer des caractères spécifiques
echo 'hello world' | tr -d ' '
Supprime tous les espaces (` `) du texte.
Convertir les retours à la ligne en espaces
cat file.txt | tr '\n' ' '
Convertit les caractères de nouvelle ligne (`\n`) du contenu d'un fichier en espaces (` `) et les affiche sur une seule ligne.
Compresser les espaces répétés
echo 'hello world' | tr -s ' '
Compresse les espaces répétés consécutivement en un seul espace. L'option `-s` permet de compresser les chaînes de caractères répétées.
Convertir les majuscules en minuscules
echo 'HELLO WORLD' | tr 'A-Z' 'a-z'
Convertit les majuscules reçues via l'entrée standard en minuscules et les affiche.
Astuces & Précautions
Voici quelques points à considérer lors de l'utilisation de la commande tr.
Astuces
- tr ne prend pas directement les noms de fichiers comme arguments. Il est impératif de lui passer du texte via l'entrée standard à l'aide de commandes comme `cat` ou `echo`.
- Lorsque vous passez des chaînes de caractères en arguments, il est recommandé d'utiliser des guillemets simples (`'`) pour éviter que le shell n'interprète les caractères spéciaux.
- Bien que `tr` soit plus simple en termes de fonctionnalités que `sed` ou `awk`, il a l'avantage d'être beaucoup plus rapide pour les opérations de transformation caractère par caractère.