# Conversion de chaînes de caractères avec tr La commande tr permet de convertir une chaîne de caractères. Par exemple : ``` tr "[A-Z]" "[a-z]" < /etc/passwd ``` ou encore ``` tr "ai" "as" < /etc/passwd | less ``` Le résultat s'affiche à l'écran. Le fichier ne sera pas modifié avec la commande précédente. Il existe plusieurs options, telles que: ^ Option ^ Signification ^ | -c | Tous les caractères qui ne sont pas spécifiés dans la première chaîne sont convertis selon les caractères de la seconde. | | -d | Efface le caractère spécifié. | | -s | Si le caractère spécifié se répète plusieurs fois de suite, il est réduit à une seule unité. | Voici plusieurs exemples illustrant l'utilisation de ces options : * pour convertir les fichiers Dos au format UNIX (sans retour chariot) : ``` tr -d '\015' < fichier.dos > fichier.linux ``` * pour effacer tous les "0" du fichier /etc/passwd : ``` tr -d "0" < /etc/passwd ``` * pour réduire toute suite de "0" à un seul "0" dans le fichier /etc/passwd : ``` tr -s "0" < /etc/passwd ``` * pour réduire toute suite de caractères non comprise (par ordre alphabétique) entre "a" et "s" à un seul dans le fichier /etc/passwd : ``` tr -cs "[a-s]" < /etc/passwd | less ``` Par exemple, "root" contient deux fois "o", mais "o" est compris entre "a" et "s", donc "root" ne sera pas changé. Par contre, "uucp" contient deux fois "u", et sera donc convertit en "ucp".