Affichage ^M dans un fichier red hat

Résolu/Fermé
Laurence - 15 déc. 2008 à 19:39
 Laurence - 16 déc. 2008 à 19:30
Bonjour,

Lorsque j'édite un fichier sous red Hat avec la commande vi, j'ai les caractères ^M qui s'affiche en fin de chaque ligne. Quelqu'un peut-il me dire à quoi cela correspond et comment je peux faire pour supprimer ça.

Merci pour votre aide.

Laurence.
A voir également:

3 réponses

bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472
15 déc. 2008 à 20:08
salut ,

:set fileformat=unix

explications ici :
http://www.lea-linux.org/cached/index/Trucs:Supprimer_les_%5EM_dans_les_fichiers_ASCII.html
0
Salut,

Le set fileformat=unix ne fonctionne pas.
Je vais chercher dans ton lien s'il n'y a pas une autre commande.

Merci quand même pour ces infos.

A+


Laurence.
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472 > Laurence
16 déc. 2008 à 18:04
Le set fileformat=unix ne fonctionne pas.
désolé ! cela doit marcher avec vim et non pas vi !

Je vais chercher dans ton lien s'il n'y a pas une autre commande.
effectivement il y a d'autres solutions avec vi !
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014
16 déc. 2008 à 18:10
Salut,

Ca marche bien fileformat ou ff mais je pense que tu as mal compris

fileformat ou ff (pour les paresseux comme moi ;-) on l'utilise quand on veut créer un fichier format win sous linux avec vi

Ici il s'agit d'un fichier qui contient déjà des CarriageReturn et il veut les supprimer.

Quand il dit je veux éditer il s'agit d'une modification.
Ce que tu proposes c'est pour création.

Sinon c'est moi qui a mal compris ;-)
0
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 472 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
16 déc. 2008 à 18:36
ben d'après le lien :

avec vim :
Suppression des ^M
:set fileformat=unix

Ajout des ^M
:set fileformat=dos


j'ai jamais essayé cette soution, sinon du temps ou je faisais de la bio-informatique, on avait une solution avec vi pour éliminer les carriage return windows ................mais je me souviens plus comment. :-\

0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014
16 déc. 2008 à 18:45
Oui,

mais c'est une configuration pour créer le fichier et pas supprimer.

Sinon voilà comment ça se passe

Je crée un fichier avec vi et je mets :set ff=dos

Après :wq j'obtiens
lami20j@debian:~$ vi bb
lami20j@debian:~$ cat -t bb
aaa^M
bbb^M
Ensuite j'ouvre le fichier à nouveau et je mets :set ff=unix

Après :wq j'obtiens
lami20j@debian:~$ vi bb
lami20j@debian:~$ cat -t bb
aaa
bbb
lami20j@debian:~$


Conclusion :
Il faut faire :set ff=unix sur un fichier qui contient des ^M
Ensuite il faut enregistrer et quitter
A l'ouverture il sera en format unix
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
15 déc. 2008 à 23:30
Salut,

Lorsque j'édite un fichier sous red Hat avec la commande vi, j'ai les caractères ^M
Il s'agit de fichiers qui vient de l'environnement Windows? Puisque tu ne parles pas d'une création mais d'une édition.
lami20j@debian:~$ cat -t bb
aaaaa^M
bbbb^M
^M
lami20j@debian:~$ perl -pi -e 's/\r//' bb
lami20j@debian:~$ cat -t bb
aaaaa
bbbb
0
en fait, ce fichier a du être transféré en FTP sous un environnement windows,puis renvoyé sous red hat.
Je pense que le pb vient de là.

Laurence.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > Laurence
16 déc. 2008 à 17:12
Salut,

Oui.
SI tu fais la commande que je t'ai donné sur ton fichier, les ^M (qui sont en fait des CarriageReturn) seront supprimés.
0
Utilisateur anonyme
16 déc. 2008 à 18:40
yo,

sinon on peut aussi éditer le fichier avec vi puis en faisant Echap +k:

:%s/^M//

le ^M s'effectue en combinant control +v +m

++

Poulpoul
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
16 déc. 2008 à 18:47
Salut,

T'as essayé avec \r pour voir si ça marche ?
:%s/\r//
0
Laurence > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
16 déc. 2008 à 19:30
Super,
Celle là a fonctionné.

Merci encore à tous.

Laurence.
0