• BASH > TR

      GÉNÉRALITÉS

      tr -x "A" "B"

       

      -x peut être -c -d -s -cd -cs

       

      "A" peut être de type :

      "a"ne concerne que la lettre a minuscule

      "abc"ne concerne que les lettres a, b et c minuscules

      "a-k"ne concerne que les lettres comprises ente a et k

      "[:alnum:]"ne concerne que les lettres et chiffres

      [a*n] ne concerne que n fois le caractère a

       

      "B" peut être optionnel dans certains cas

      REMPLACEMENTS

      tr A B remplace tous les caractères listés dans A par ceux listés dans B. Si A est plus long que B, le dernier caractère de B fera office de caractère de remplacement.

       

      tr "a" "o" remplace tous les a par o

      tr "a-f" "o" remplace tous les caractères de a à f par o.

      tr "ab" "oe" remplace tous les a par o et tous les b par e.

       

      si l’option s est utilisée, alors la commande exécute les remplacements, puis comprime les motifs de B :

      tr -s "aeiou" "*-_=." <<< foobarf-b*r

       

      SUPPRESSIONS

      -d A supprime les caractères listés dans A

       

      -d "oa" <<< foobarfbr

       

      -ds "A" "B" supprime tous les A, puis comprime tous les B

       

      tr -ds "f" "o" <<< fffooobbbaaarrrobbbaaarrr(supprime tous les f, puis comprime tous les o)

      SAUF

      -c Remplace tout SAUF :

       

      tr -c "o" "*" <<< fooobaaar*ooo***** (remplace tout sauf les o)

       

      tr -cs "o" "*" <<< fooobaaar*ooo* (comprime tout sauf les o, puis remplace tout sauf les o)

       

      tr -cs "o" <<< fooobaaarfooobar (comprime tout sauf les o)

      COMPRIME

      tr -s remplace les caractères répétés par un seul caractère

       

      tr -s <<< foooobaaaaarfobar

       

      tr -s a <<< foooobaaaaar foooobar (ne concerne que les a)

      tr -s "o" "*" <<< foooobaaaaar f*baaaaar (ne compresse que les o, puis les remplace par une étoile)

      [:CLASS:]

      [:alnum:] Lettres et chiffres (a-Z0-9)

      [:blank:] espaces horizontaux

      [:digit:] chiffres (0-9)

      [:lower:] lettres minuscules (a-z)

      [:punct:] caractères de ponctuation

      [:upper:] lettres majuscules

      [:alpha:] lettres

      [:cntrl:] caractères de contrôle

      [:graph:] caractères imprimables (sauf espace)

      [:print:] caractères imprimables (avec espace)

      [:space:] espaces horizontaux et verticaux

      [:xdigit:] chiffres hexadécimaux

      EXEMPLES

      Remplacer les minuscules par les majuscules

      tr ‘[:lower:]‘ ‘[:upper:]

      tr ‘a-z‘ ‘A-Z

      Inverser la casse

      echo "FooBar" | tr "A-Za-z" "a-zA-Z"fOObAR

      Remplacer tous les blancs continus par un seul

      tr -s ‘ ‘

      Remplacer un caractère par un saut de ligne

      tr ‘:‘ ‘\012→  ici, le caractère : sera remplacé par un saut de ligne

      Supprimer tous les caractères non imprimables

      tr -cd "[:print:]"

      Effacer tous les caractères NULL

      tr -d ‘\0′

      Remplacer des parenthèses ou accolades

      tr ‘{}’ ‘()’

      tr ‘{}’ ‘\[]‘ ([ doit être échappé par un \)

      Remplacer tous les espaces par un seul #

      tr -s '[:space:]‘ ‘[#*]‘

      Chaque mot sur une ligne, sans ligne vide :

      tr -cs ‘a-zA-Z0-9′ ‘[\n*]‘

      ou

      tr -cs A-Za-z0-9 ‘\012′

      Supprime les lignes vides consécutives

      tr -s ‘\n’

      Chaque mot sur une ligne, sans doublons, sans ligne vide

      tr -s ‘[:punct:][:blank:]‘ ‘\n’ | tr ‘[:upper:]‘ ‘[:lower:]‘ | uniq -d

      Supprimer les espaces vides (tabulations et sauts de ligne)

      tr -d ‘\040\011\012\015′ pour supprimer les espaces, tabulations, retour chariot et saut de ligne.

 

Aucun commentaire

 

Laissez un commentaire