Supprimer le caractère ^M

© Christian PAULUS. Document créé le 27 décembre 2005 , mis à jour le 14 mars 2007.

On n'est jamais heureux que dans le bonheur qu'on donne. Donner, c'est recevoir. Abbé Pierre

Accueil du site > Astuces > FreeBSD > Supprimer le caractère ^M

FreeBSD 6.0

Lorsque vous récupérez un fichier texte du monde Windows et l’éditez sous terminal, on peut y découvrir le caractère ^M à chaque fin de ligne, ce qui peut devenir génant au confort visuel.

^M (control-M) est le retour chariot de fin de ligne pour Windows.

Il existe plusieurs solutions pour retirer ce ^M qui ne sert à rien sous Unix. La plus traditionnelle, peut-être, est l’emploi de la commande tr (translate characters) en lui demandant tout simplement de supprimer ce ^M :

tr -d "\r" < fichier-ori.txt > fichier-new.txt

Vous pouvez également utiliser la commande col (filter reverse line feeds from input) qui a l’avantage sur l’exemple précédent de reformater le fichier en remplacant les multiples espaces par une tabulation, lorsqu’il le peut :

col < fichier-ori.txt > fichier-new.txt

Vous pouvez également utiliser dos2unix qui est fourni avec le port unix2dos (/usr/ports/converters/unix2dos) qui lui - en utilisant l’option idoine - a l’avantage de conserver les dates originales de création et de modification.

Plussoyez !

Les forums sont fermés.