Next: Duplication d'un flux de
Up: Bases et commandes utiles
Previous: Trier avec sort
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 (tableau 1.6) :
Tableau 1.6:
Options de la commande tr.
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''.
Next: Duplication d'un flux de
Up: Bases et commandes utiles
Previous: Trier avec sort
MATHIEU DECORE
1999-11-03
Merci de me dire ce que pensez de ce document.