GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Linux tr avec exemples

Présentation

Le tr command est un utilitaire de ligne de commande Linux qui traduit ou supprime les caractères de l'entrée standard (stdin ) et écrit le résultat sur la sortie standard (stdout ). Utilisez tr pour effectuer différentes transformations de texte, y compris la conversion de casse, la compression ou la suppression de caractères et le remplacement de texte de base.

Depuis tr ne peut pas lire un fichier directement et affiche les résultats en sortie standard, il est souvent utilisé avec des tubes (| ) et redirections (>> ) pour permettre un traitement plus complexe du contenu des fichiers.

Dans ce tutoriel, vous apprendrez à utiliser Linux tr commande.

Prérequis

  • Un système exécutant Linux.
  • Accès au terminal (Ctrl + Alt + T ).

Syntaxe de la commande Linux tr

Le tr de base la syntaxe de la commande est :

tr [options] SET1 [SET2]

Options

Exécution tr sans aucune option remplace chacun des caractères spécifiés dans SET1 avec les caractères de SET2 qui ont la même position.

Par exemple :

Dans l'exemple ci-dessus, la sortie de la commande echo est redirigée vers le tr commande, remplaçant chaque instance de e avec o .

RÉGLER

SET s sont des chaînes de caractères. La commande accepte les séquences interprétées suivantes pour la correspondance des caractères :

Séquence Interprétation
\NNN Caractères avec le NNN valeur octale (1 à 3 chiffres octaux).
\\ Barre oblique inverse.
\a Un caractère de cloche audible.
\b Retour arrière.
\f Flux de formulaire.
\n Caractère de saut de ligne.
\r Retourner le caractère.
\t Onglet horizontal.
\v Onglet vertical.
CHAR1-CHAR2 Tous les caractères de CHAR1 à CHAR2 dans un ordre croissant.
[CHAR*] Copies CHAR* en SET2 jusqu'à la longueur de SET1 .
[CHAR*REPEAT] Répète les copies de CHAR . Répète octal si commençant par 0.
[:alnum:] Toutes les lettres et chiffres.
[:alpha:] Toutes les lettres.
[:blank:] Espaces blancs horizontaux.
[:cntrl:] Tous les caractères de contrôle.
[:digit:] Tous les chiffres.
[:graph:] Caractères imprimables, hors espace.
[:lower:] Tous les caractères en minuscules.
[:print:] Caractères imprimables, y compris l'espace.
[:punct:] Tous les caractères de ponctuation.
[:space:] Caractères d'espacement horizontaux ou verticaux.
[:upper:] Toutes les lettres majuscules.
[:xdigit:] Chiffres hexadécimaux.
[=CHAR=] Tous les caractères équivalents à CHAR .

Remarque : Un autre excellent éditeur de flux de texte Unix est SED. L'outil vous permet de rechercher, remplacer, ajouter et supprimer des lignes dans un fichier texte sans l'ouvrir dans un éditeur de texte.

Options de commande Linux tr

Les options fournissent des actions de transformation de personnage supplémentaires. Les options disponibles sont :

Option Description
-C Complète les caractères dans SET1 , y compris tous les caractères de la sortie à l'exception de ceux spécifiés.
-c Complète les valeurs dans SET1 . Les opérations s'appliquent aux caractères qui ne sont pas dans le jeu donné.
-d Supprime les caractères du SET1  saisie.
-s Serre les caractères répétés spécifiés dans le dernier opérande (soit SET1 ou SET2 ) et les remplace par une seule occurrence de ce caractère.
-t Tronque SET1 à la longueur de SET2 .
-u Veille à ce que toute sortie ne soit pas mise en mémoire tampon.
--help Affiche le fichier d'aide avec toutes les options disponibles.
--version Affiche les informations sur la version du programme.

Exemples Linux tr

Vous trouverez ci-dessous des exemples d'utilisation du tr commande avec différentes options pour transformer le texte d'entrée.

Modifier la casse des caractères

Il existe trois façons de changer la casse des caractères avec tr :

1. Spécifiez les caractères exacts que vous souhaitez convertir

Spécifiez les caractères de l'entrée que vous souhaitez convertir. Cette option change la casse des caractères ou des caractères entiers, remplaçant ceux de SET1 avec ceux de SET2 .

Par exemple :

2. Spécifiez la plage de caractères pour la conversion

La spécification d'une plage autorise tr pour changer la casse de n'importe quel caractère dans cette plage spécifiée. L'exemple suivant montre comment convertir des caractères majuscules en minuscules :

Appuyez sur CTRL+C pour quitter le mode de saisie.

3. Spécifiez les séquences interprétées

Associez et convertissez des caractères en spécifiant des séquences interprétées. Par exemple, la séquence pour les caractères minuscules est [:lower:] , et la séquence pour les caractères majuscules est [:upper:] . La spécification des deux séquences indique tr pour faire correspondre et convertir la casse des caractères :

L'exemple ci-dessus montre comment tr convertit les caractères majuscules en minuscules.

Supprimer les caractères répétés

Le -s L'option comprime les caractères répétés en une seule instance de ce caractère. L'option est particulièrement utile lors de la conversion d'espaces blancs en tabulations ou en caractères de saut de ligne, et le texte d'entrée contient plusieurs caractères d'espacement continus.

Par exemple, l'entrée suivante contient plusieurs caractères d'espacement. Les convertir en onglets sans les serrer donne le résultat suivant :

Pour éviter plusieurs onglets et espaces blancs dans la sortie, spécifiez le -s choix :

Supprimer des caractères

Supprimer des caractères spécifiques à l'aide du -d option. Dans l'exemple suivant, tr supprime chaque instance de e caractère :

Si vous le souhaitez, spécifiez un groupe de caractères à l'aide de séquences interprétées. Par exemple, supprimez tous les chiffres en spécifiant le [:digit:] séquence :

Ensembles complémentaires

Utilisez le -c option pour compléter les caractères en SET1 . Dans l'exemple suivant, nous supprimons tous les caractères sauf les chiffres :

Tous les caractères ne faisant pas partie du jeu spécifié (dans ce cas, tout sauf les chiffres) sont supprimés.

Supprimer les caractères de saut de ligne

Réduisez l'espace occupé par un texte en convertissant les caractères de saut de ligne en espaces. Le contenu apparaît alors sur une seule ligne.

Dans l'exemple suivant, nous utilisons la commande cat pour ouvrir un fichier texte et le rediriger vers tr pour supprimer les caractères de saut de ligne :

Redirection vers tr

Une alternative à la canalisation consiste à utiliser la redirection pour alimenter le contenu en tr . De plus, vous pouvez utiliser la redirection pour enregistrer le tr sortie dans un fichier.

L'exemple suivant montre comment supprimer tous les caractères non imprimables d'un fichier dont le contenu est redirigé vers tr :

Ensemble tronqué

Par défaut, si SET1 est plus long que SET2 , tr réutilise le dernier caractère de SET2 lors du traitement de l'entrée. Par exemple :

Depuis SET1 est plus long que SET2 , tr réutilise le dernier caractère de SET2 , dans ce cas, 2 .

Utilisez le -t option pour tronquer SET1 à la longueur de SET2 :

Le -t l'option indique tr pour tronquer SET1 à la longueur de SET2 et remplace uniquement les deux premiers caractères.

Supprimer les signes diacritiques

Utilisez le [=CHAR=] séquence pour faire correspondre tous les caractères équivalents à celui spécifié. Par exemple, la séquence peut identifier et supprimer les signes diacritiques des caractères.

Imprimez chaque mot séparément

Imprimer le contenu d'un fichier ligne par ligne en utilisant le -c et remplacez les caractères non alphanumériques par un caractère de saut de ligne.

Remarque : Si vous préférez utiliser Bash, voyez comment lire un fichier ligne par ligne.

La sortie est maintenant affichée un mot à la fois.

Enregistrer la sortie dans un fichier

Depuis tr ne modifie pas directement le contenu d'un fichier, il n'enregistre pas non plus les modifications que vous apportez. Enregistrez la sortie dans un fichier en la redirigeant comme indiqué dans l'exemple suivant :

Ouverture du nouveau fichier avec cat indique que les modifications ont été enregistrées.

Conclusion

Ce tutoriel a montré comment utiliser le tr commande et ses options disponibles pour diverses transformations de texte. Découvrez d'autres utilitaires de texte Linux dans nos guides pour la commande de tri et moins de téléavertisseur de terminal, ou consultez les meilleurs éditeurs de texte Linux.


Linux
  1. Commande Linux wc avec exemples

  2. Commande de tri Linux avec exemples

  3. Commande Linux Tee avec exemples

  4. Commande principale Linux avec exemples

  5. Commande JQ sous Linux avec exemples

Commande de CD Linux avec exemples

Commande Linux watch avec exemples

Commande Wait sous Linux avec des exemples

Commande d'exportation Linux avec exemples

Commande de redémarrage sous Linux avec des exemples

Commande IP Linux avec exemples