Remplacer le caractère ^M par un retour à la ligne

Je me suis retrouvé aujourd’hui face à un fichier contenant ce putain de caractère ^M et l’outil dos2unix que j’utilise habituellement ne l’a pas remplacé par un retour à la ligne.

Mon autre workaround n’a pas fonctionné non plus:

# remove ^M character, dos2unix is propably not installed so workaround
tr -d $'\r' < ${FILE} > seq_tmp
mv seq_tmp ${FILE}
rm seq_tmp

Heureusement, ce vieux sed est venu à la rescousse:

sed -i 's/'"$(printf '\015')"'/\n/g' vilain_fichier.txt

Mission done !

Une réflexion sur « Remplacer le caractère ^M par un retour à la ligne »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *