commande tr

Si vous voulez revenir sur la PAGE PRéCéNTE.

Commande tr


  • tr


  • TR(1)                    Manuel de l utilisateur Linux                   TR(1)
    
    NOM
           tr - Transposer ou éliminer des caractères.
    
    SYNOPSIS
           tr [-cst] [--complement] [--squeeze-repeats] [--truncate-set1] chaîne_1
           chaîne_2
           tr {-s,--squeeze-repeats} [-c] [--complement] chaîne_1
           tr {-d,--delete} [-c] chaîne_1
           tr {-d,--delete} {-s,--squeeze-repeats}  [-c]  [--complement]  chaîne_1
           chaîne_2
    
           La version GNU de tr accepte également les options --help et --version.
    
    DESCRIPTION
           Cette page de manuel documente la version GNU de tr.
    
           tr copie son entrée standard sur sa sortie standard en effectuant l'une
           des manipulations suivantes :
    
                  · transposer, et éventuellement réunir les caractères  dupliqués
                  de la chaîne résultante
                  · réunir les caractères dupliqués
                  · supprimer des caractères
                  ·  supprimer  des  caractères, et éventuellement réunir les car‐
                  actères dupliqués de la chaîne résultante
    
           Les arguments chaîne1 et (éventuellement) chaîne2 décrivent des  ensem‐
           bles  ordonnés  de  caractères,  que l'on mentionnera plus bas sous les
           noms de jeu1 et jeu2.  Ces ensembles  représentent  les  caractères  de
           l'entrée  standard  sur lesquels tr travaillera.  L'option --complement
           (-c) remplace jeu1 par son complément  (tous  les  caractères  n'appar‐
           tenant pas à jeu1).
    
       DÉFINIR LES ENSEMBLES DE CARACTÈRES
           Le  format  des  arguments  chaîne1  et  chaîne2  ressemble à celui des
           expressions rationnelles. Il  ne  s'agit  toutefois  pas  d'expressions
           rationnelles,  mais simplement de listes de caractères.  La plupart des
           caractères sont représentes par eux-mêmes, néanmoins les  chaînes  peu‐
           vent également contenir des raccourcis plus simples décrits ci-dessous.
           Certains de ces raccourcis ne peuvent être utilisés que dans chaîne1 ou
           que dans chaîne2, comme c'est mentionné ci-dessous.
    
           Séquences  avec BackSlash. Un backslash suivi d'un caractère non défini
           ci-dessous déclenche un message d'erreur.
    
           \a     Contrôle-G.
    
           \b     Contrôle-H.
    
           \f     Contrôle-L.
    
           \n     Contrôle-J.
    
           \r     Contrôle-M.
    
           \t     Contrôle-I.
    
           \v     Contrôle-K.
    
           \ooo   Le caractère  de  valeur  octale  ooo,  s'étendant  sur  1  à  3
                  chiffres.
    
           \\     BackSlash.
    
           Intervalles.   La notation `m-n' représente tous les caractères compris
           entre m et n, en ordre croissant.  m doit être inférieur à n, sinon une
           erreur  se  produit.  Par exemple, `0-9' est équivalent à `0123456789'.
           Bien que la version GNU de tr ne supporte pas la syntaxe System  V  qui
           utilise  des crochets pour indiquer les intervalles, les transpositions
           spécifiées avec ce format fonctionneront quand même si les crochets  de
           chaîne1 correspondent à des crochets identiques de chaîne2.
    
           Répétition de caractères. La notation `[c*n]' dans chaîne2 se développe
           en n copies du caractère c. Ainsi, `[y*6]' est équivalent  à  `yyyyyy'.
           La  notation  `[c*]'  dans chaîne2 se développe en autant de copie de c
           qu'il le faut pour rendre le jeu2 aussi long que jeu1.  Si  n  commence
           par 0, il est interprété en octal, sinon en décimal.
    
           Classes  de  caractères.  La  notation  `[:nom-classe:]'  correspond  à
           l'ensemble de tous les caractères appartenant à la classe  (prédéfinie)
           nom-classe.   Les caractères ne se présentent pas dans un ordre partic‐
           ulier, sauf pour les classes `upper' `lower' dont les membres  sont  en
           ordre  croissant.  Quand les options --delete (-d) et --squeeze-repeats
           (-s) sont utilisées simultanément,  n'importe  quelle  classe  de  car‐
           actères  peut  être  mentionnée  dans  chaîne2.   Autrement, seules les
           classes `lower' et `upper' sont acceptées dans string2, et ceci  seule‐
           ment  si  la classe correspondante (`upper' et `lower', respectivement)
           est mentionnée à la même position relative dans chaîne1. Ceci permet de
           convertir  le  type  majuscule/minuscule  des  caractères.  Les noms de
           classes sont indiqués ci-dessous. Une erreur se produit si  l'on  tente
           d'utiliser un nom de classe invalide.
    
           alnum  Lettres et chiffres.
    
           alpha  Lettres.
    
           blank  Caractères d'espacement horizontaux.
    
           cntrl  caractères de contrôle.
    
           digit  Chiffres.
    
           graph  caractères imprimables, sauf l'espace.
    
           lower  Lettres minuscules.
    
           print  caractères imprimables, y compris l'espace.
    
           punct  caractères de ponctuation.
    
           space  Caractères d'espacement horizontaux ou verticaux.
    
           upper  Lettres majuscules.
    
           xdigit Chiffres hexadécimaux.
    
           Classes  d'équivalence.  La  syntaxe `[=c=]' se développe en l'ensemble
           des caractères équivalents à c, sans ordre  particulier.   Les  classes
           d'équivalence  sont  une  invention  récente  destinée  à supporter les
           alphabets autres que l'anglais. Mais il n'y a pas de  manière  standard
           de  les  définir ou de connaître leur contenu.  Ainsi elles ne sont pas
           totalement implémentées dans la version GNU de tr.  La classe d'équiva‐
           lence  d'un  caractère  est composée uniquement de ce caractère, ce qui
           rend ces classes inutiles actuellement.
    
           [NDT] Il serait pourtant bien pratique que la classe d'équivalence d'un
           caractère contienne également ses versions accentuées...
    
       TRADUCTION
           tr  effectue  les  traductions de caractères lorsqu'on lui fournit à la
           fois chaîne1 et chaîne2, et si l'on  n'utilise  pas  l'option  --delete
           (-d).  tr transpose chaque caractère d'entrée appartenant au jeu1 en un
           caractère correspondant du jeu2. Les caractères non trouvés  dans  jeu1
           sont  copies  sans  modification. Quand un caractère apparaît plusieurs
           fois dans jeu1, et si les caractères correspondants de jeu2 ne sont pas
           toujours  les mêmes, seule la version finale est utilisée.  Par exemple
           ces deux commandes sont équivalentes :
                  tr aaa xyz
                  tr a z
    
           Un usage classique de tr est la conversions  de  minuscules  en  majus‐
           cules.  Ceci  peut  être réalisé de nombreuses manières différentes. En
           voici trois :
                  tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
                  tr a-z A-Z
                  tr '[:lower:]' '[:upper:]'
    
           [NDT] Une utilisation pratique pour nous est la suppression des accents
           d'un  texte.  En  voici  un  exemple supprimant les accents utilisés en
           français.
                  tr "àçéèêëîïôöùüÂÇÉÈÊËÎÏÔÖÙÜ" "aceeeeiioouuACEEEEIIOOUU"
    
           Quand tr effectue une traduction,  jeu1  et  jeu2  doivent  normalement
           avoir la même longueur. Si jeu1 est plus court que jeu2, les caractères
           supplémentaires en fin de jeu2 sont ignorés.
    
           D'autre part, si jeu1 est plus long que jeu2, la portabilité n'est  pas
           assurée.  POSIX.2 précise que dans ce cas le comportement est indéfini.
           La version BSD de tr complète jeu2 jusqu'à la même longueur que jeu1 en
           répétant  son  dernier caractère de fois autant que nécessaire. La ver‐
           sion System V de tr tronque jeu1 à la même longueur que jeu2.
    
           Par défaut, la version GNU de tr se  comporte  comme  la  version  BSD.
           Quand  l'option  --truncate-set1  (-t) est mentionnée, elle se comporte
           comme la version System V.  Cette  option  n'a  pas  d'effet  pour  les
           autres manipulations que les traductions.
    
           Le  comportement  System  V de tr rend impossible la commande BSD clas‐
           sique
                  tr -cs A-Za-z0-9 '\012'
           car elle ne convertit que  les  octets  nuls  (le  premier  élément  du
           complément  de  jeu1)  en  Saut de Ligne, au lieu de convertir tous les
           caractères non-alphanumériques.
    
       ÉLIMINER LES RÉPÉTITIONS ET EFFACER DES CARACTÈRES
           Quand seule l'option --delete (-d) est fournie, tr  supprime  tous  les
           caractères d'entrée présents dans jeu1.
    
           Quand  seule  l'option  --squeeze-repeats (-s) est fournie, tr remplace
           chaque répétitions de caractères appartenant  au  jeu1  par  une  seule
           occurrence de ce caractère.
    
           Quand  les deux options --delete et --squeeze-repeats sont réclamées en
           même temps, tr effectue d'abord toutes les suppressions des  caractères
           de  jeu1,  puis  élimine  les répétitions des caractères appartenant au
           jeu2.
    
           L'option --squeeze-repeats peut également  être  utilisée  pendant  les
           traductions,  auquel  cas  tr  effectue  d'abord la transposition, puis
           élimine les répétitions de caractères appartenant au jeu2.
    
           Voici quelques exemples destinés à illustrer diverses combinaisons  des
           options :
    
           Supprimer les octets nuls :
                  tr -d '\000'
    
           Afficher chaque mot sur une ligne indépendante. Ceci convertit tous les
           caractères non alphanumériques en sauts de lignes,  puis  regroupe  les
           lignes blanches successives en un seul saut de ligne :
                  tr -cs '[a-zA-Z0-9]' '[\n*]'
    
           Convertir  les  séquences  de  sauts de lignes en un seul saut de ligne
           (ceci supprime les lignes blanches) :
                  tr -s '\n'
    
           La version GNU de tr accepte également les options supplémentaire suiv‐
           antes :
    
           --help Afficher un message d'aide sur la sortie standard et se terminer
                  normalement.
    
           --version
                  Afficher un numéro de version sur la sortie standard et se  ter‐
                  miner normalement.
    
       MESSAGE D'AVERTISSEMENT
           Lorsque   la  variable  d'environnement  POSIXLY_CORRECT  est  validée,
           plusieurs messages d'erreurs et  d'avertissements  sont  inhibés,  afin
           d'assurer  une  compatibilité  stricte  avec  POSIX.2.  Les messages en
           question se produisent dans les circonstances suivantes :
    
           1.   Quand   l'option   --delete    est    utilisée    sans    l'option
           --squeeze-repeats,  et  si  chaîne2  est  fournie, la version GNU de tr
           affiche par défaut un message d'erreur et se termine,  car  chaîne2  ne
           serait pas utilisée. Les spécifications POSIX indiquent que dans ce cas
           chaîne2 doit simplement être ignorée. Ignorer un argument sans prévenir
           l'utilisateur n'est pas une bonne idée.
    
           2.  Quand un nombre octal ambigu est fourni par une séquence d'échappe‐
           ment.  Par exemple \400 correspond en réalité au caractère \40 suivi du
           chiffre 0, car la valeur octale 400 ne tient pas dans un octet.
    
           Remarquez  que  la  version  GNU  de tr ne fournit pas de compatibilité
           totale BSD ou System V. Par exemple, il n'y a pas d'option pour inhiber
           l'interprétation  des  séquences  POSIX   [:alpha:],  [=c=], et [c*10].
           Remarquez également que la version GNU de tr ne supprime pas les octets
           nuls  automatiquement  contrairement aux versions UNIX traditionnelles,
           avec lesquelles il n'y a pas de moyen de conserver les octets nuls.
    
    TRADUCTION
           Christophe Blaess, 1997-2003.
    
    coreutils                       30 juillet 2003                          TR(1)
    
    



    Mes sources sont extraites de "www.linux-france.org" que je remercie au passage, pour sa traduction

    Pour me contacter pour me faire des remarques, des critiques, ou tout simplement pour m'indiquer un lien cassé ou un nouveau lien vers une ressource intéressante (peut-être la votre) à rajouter dans cette page: dafpolo@gmail.com
    vous pouvez également laisser un message sur mon Livre d'or.