tr (Unix) - tr (Unix)

tr
La commande tr
La tr commande
Auteur (s) original (s) Douglas McIlroy
( Laboratoires AT&T Bell )
Développeur (s) Divers open source et commerciaux développeurs
Première version Novembre 1973 ; Il y a 47 ans  ( 1973-11 )
Dépôt Modifiez ceci sur Wikidata
Système opérateur Unix , de type Unix , Plan 9 , Inferno , OS-9 , MSX-DOS , IBM i
Plate-forme Multiplateforme
Taper Commander
Licence coreutils : GPLv3 +

tr est une commande dans les systèmes d'exploitation de type Unix , Plan 9 , Inferno et Unix . C'est une abréviation de translate ou transliterate , indiquant son opération de remplacement ou de suppression de caractères spécifiques dans son ensemble de données d'entrée.

Aperçu

L'utilitaire lit un flux d'octets à partir de son entrée standard et écrit le résultat dans la sortie standard . En tant qu'arguments , il prend deux jeux de caractères (généralement de même longueur), et remplace les occurrences des caractères du premier jeu par les éléments correspondants du deuxième jeu. Par exemple,

tr 'abcd' 'jkmn'

mappe tous les caractères a à j , b à k , c à m et d à n .

Le jeu de caractères peut être abrégé en utilisant des plages de caractères. L'exemple précédent pourrait s'écrire:

tr 'a-d' 'jkmn'

Dans les versions conformes à POSIX de tr , l'ensemble représenté par une plage de caractères dépend de l' ordre de classement des paramètres régionaux , il est donc plus sûr d'éviter les plages de caractères dans les scripts qui pourraient être exécutés dans une langue différente de celle dans laquelle ils ont été écrits. Les plages peuvent souvent être remplacées par des jeux de caractères POSIX tels que [: alpha:] .

L' s indicateur provoque la tr compression des séquences de caractères adjacents identiques dans sa sortie en un seul jeton. Par exemple,

tr -s '\n'

remplace les séquences d'un ou plusieurs caractères de nouvelle ligne par une seule nouvelle ligne.

L' d indicateur entraîne la tr suppression de tous les jetons du jeu de caractères spécifié de son entrée. Dans ce cas, un seul argument de jeu de caractères est utilisé. La commande suivante supprime les caractères de retour chariot.

tr -d '\r'

Le c drapeau indique le complément du premier jeu de caractères. L'invocation

tr -cd '[:alnum:]'

supprime donc tous les caractères non alphanumériques.

Implémentations

La version originale de a tr été écrite par Douglas McIlroy et a été introduite dans la version 4 Unix .

La version tr intégrée dans GNU coreutils a été écrite par Jim Meyering.

La commande est également disponible dans le shell OS-9 .

Une tr commande fait également partie ASCII de Outils MSX-DOS2 pour MSX-DOS version 2.

La plupart des versions de tr , y compris GNU tr et Unix classique tr , fonctionnent sur des caractères à un octet et ne sont pas compatibles Unicode . Une exception est l' implémentation Heirloom Toolchest , qui fournit un support Unicode de base.

La commande tr a également été portée sur le système d'exploitation IBM i .

Ruby et Perl ont également un opérateur tr interne , qui fonctionne de manière analogue. La commande string map de Tcl est plus générale en ce qu'elle mappe les chaînes en chaînes tandis que tr mappe les caractères aux caractères.

Voir également

Les références

Liens externes