Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
24 juin 2010

coreutils GNU           Opérations sur les caractères


tr

tr

Traduit et réduit les caractères

   tr copie l'entrée standard sur la sortie standard, en effectuant un de ces opérations :

- Traduit, et optionnellement réduit les caractères répétés dans le résultat.
- Réduit les caractères répétés.
- Supprimer des caractères
- Supprimer des caractères, puis réduit les caractères répétés dans le résultat.

Jeux de caractères

   Les arguments SET1 et SET2 définissent les jeux de caractères ordonnés.

  Le format de SET1 et SET2 ressemble au format des expressions régulières ; cependant ce ne sont pas des expressions régulières, seulement des listes de caractères.

  Caractères spéciaux reconnus :

        \a Control-G
        \b Control-H
        \f Control-L
        \n Control-J
        \r Control-M
        \t Control-I
        \v Control-K
        \000 Représente la valeur en octal d'un caractère.
        \\ backslash

Plages

   une plage est sous la forme M-N

Caractères répétés

   La notation [C*N] dans SET2 étend N copies du caractère C. donc [y*6] revient à yyyyyy.

Classes de caractères

   La notation [:CLASS :] s'étend à tous les caractères de la classe prédéfinie CLASS.

        alnum Lettres et chiffres
        alpha Lettres
        blank Espaces horizontaux
        cntrl Caractères de contrôle
        digit Chiffres
        graph Caractères imprimables, mais pas les espaces
        lower Lettres minuscules
        print Caractères imprimables
        punct Caractères de ponctuation
        space Espaces horizontaux et verticaux
        upper Lettre majuscules
        xdigits Chiffres Hexadécimaux

Traduction

   tr effectue une traduction quand SET1 et SET2 sont données et que l'option --delete n'est pas donné. tr traduit chaque caractère de l'entrée qui est listé dans SET1 par le caractère spécifié dans SET2.

Exemple

Tout mettre en majuscule
tr a-Z A-Z ou tr '[:lower:]' '[:upper:]'

Réduire

   En donnant juste l'option --delete ou -d, tr supprime tous caractère listé dans SET1.

  En donnant juste l'option --squeeze-repeats ou -s, tr remplace chaque séquence de caractères répété et listé dans SET1, par un seul.

  En utilisant ces 2 options, tr supprime d'abord en utilisant SET1, puis réduit en utilisant SET2. -s peut être utilisé avec la traduction.

Exemples

supprimer tous les octets 0
tr -d '\0'
convertit tous les caractère non-alphanumérique en newline, puis réduit les newlines répétés
tr -cs '[:alnum :]' '[\n*]'
supprimer les newlines consécutifs
tr -s '\n'
trouver les occurrences doublées de mots dans un document
#! /bin/sh
cat -- "$@" | tr -s '[:punct:][:blank:]' '[\n*]' | tr '[:upper:]' '[:lower:]' | uniq -d