accueil > Traitement et recherche de texte > tr

tr : Filtre pour la transformation et la suppression de caractères

La commande tr est un filtre utilisé pour transformer ou supprimer des caractères du texte reçu via l'entrée standard (stdin). Elle est particulièrement utile lorsqu'elle est combinée avec un pipe (|) pour traiter la sortie d'autres commandes.

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.

commandes associées

Des commandes fonctionnellement similaires ou souvent utilisées ensemble.


Commandes de la même catégorie