Webmail Espace privé About
Home   Debian Addict Testing

Supprimer les ^M dans vos fichiers

jeudi 12 février 2004.
 

Les fins de lignes de fichiers texte du monde MS Windows (\r\n) ne sont pas écrits de la même façon dans le monde GNU/Linux et Unix (\n). Celà implique quelques soucis de lecture lors de transfert de fichier entre des systèmes hétérogènes. Néanmoins plusieurs des solutions existent pour s’abstenir de ces incommodités.

Prérequis

Il vous faut un fichier tout moche venant d’une plateforme MS Windows avec pleins de ^M. ;-)

Les outils

Il existe pleins de petits programmes qui font la conversion tout seul :

- $dos2unix mon_fichier.txt
- $fromdos mon_fichier.txt

D’ailleurs il existe leur equivalent pour faire la manipulation inverse. A savoir, transformer un fichier texte au format GNU/Linux (ou Unix) en un fichier texte pour MS Windows :
- $unix2dos mon_fichier.txt
- $todos mon_fichier.txt

Les editeurs

Un autre moyen est d’utiliser votre éditeur de fichier texte favoris. Dans ce cas les commandes à exécuter votre éditeur sont les suivantes :

- Avec vi : [echap]:%s/[ctrl+v][ctrl+m]//
- Avec emacs : M-%
- Avec joe : [ctrl+k+f]\015r[enter]r

Le shell

Pour les plus téméraires entre vous qui ont la shell attitude dans le sang, qu’ils se rassurent !! Il est possible de le faire directement dans le shell à la mano.

- Avec sed (avec fichier temporaire) :$sed -e 's/[ctrl+v][ctrl+m]//' mon_fichier.txt > mon_nouveau_fichier.txt
- Avec sed (sans fichier temporaire) :$sed -ie 's/[ctrl+v][ctrl+m]//' mon_fichier.txt
- Avec tr :$cat mon_fichier.txt | tr -d '\r' > mon_nouveau_fichier.txt
- Avec le perl :$perl -pi -e 's/\r\n/\n/' mon_fichier.txt

Autres solutions

Vous voulez d’autres solutions ?? Jetez un coup d’oeil à cette FAQ

Afin obtenir le caractère ^M, il faut taper la séquence de combinaisons de touches suivante :[ctrl+v][ctrl+m].


Signatures: 0
Date Nom Message

Forum

Vous pouvez participer à la vie de ce site et proposer vos propres articles en vous inscrivant ci-dessous. Vous recevrez immédiatement un email vous indiquant vos codes d'accès à l'espace privé du site.

Identifiants personnels

Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique.

Des mêmes auteurs