Supprimer les sauts de ligne ^M dans un fichi

pcsystemd Messages postés 734 Statut Membre -  
pcsystemd Messages postés 734 Statut Membre -
Bonjour,
j'ai codé un questionnaire en php. Je récupére les réponses dans un fichier log. Lorsque je récupere ce fichier j'ai des caractères ^M qui correspondent aux sauts de ligne sous un système Microsoft.

j'arrive a retiré ces caractéres ^M en appliquant a mon fichier :
dos2unix fichier.log


mais le souci c'est que j'ai toujours les sauts de lignes.

Y a t-il un moyen d'éviter ces sauts de ligne dans mon fichier ou y a t-il un moyen sous VI ou autre de supprimer ces sauts de lignes?

Merci
A voir également:

3 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Tu peux coller un exemple de fichier sur Cjoint s'il te plaît, histoire qu'on puisse bien traiter ces fameux sauts de ligne...

Merci ;-)
0
pcsystemd Messages postés 734 Statut Membre 23
 
Salut et merci,

voici un exemple de fichier

https://www.cjoint.com/?jwqyt7uug4

A savoir que normalement il est plus volumineux et il y a donc plus de retour a la ligne.
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
En partant du fichier que tu as mis sur Cjoint :
sed -i.bak 's/^M//;/^$/d' fichier
;-))

Édit : Le ^M s'obtient par "CTRL V" + "CTRL M"
0
pcsystemd Messages postés 734 Statut Membre 23
 
Merci mais cela ne résoud pas vraiment le problème mais je me suis mal expliqué. En faites je dois importé le contenu de ce fichier dans une feuille excel (j'utilise Gnumeric) et cela je sais faire mais pour que la mise en page soit possible selon le titre des colonnes, j'enleve les | et ok sauf que pour cela Gnumeric considere les lignes hors si j'ai cela :

 1 2008-09-22|5549|dou|toto|7500|Paris|stable||stable||plutot-en-hausse|+3|plutot-en-baisse|-10|stable||stable||stable||70|28|2|||||||20|60|20|||||10|40|20|20|10|||70|20|10|20|1      0|10|60|secteur|Région.
2  c'est un pays magnifique loin de tout.
3 |no,|oui bla bla bla bla bla bla bla bla bla
4 secteur.|titi|4 |147|1 150 |Dans secteur.|Paris|4 |120 |17000|moderne|Paris|vi|500|5 300 |particulier|Vi|3|90|850|dans|||||||||||19/09/2008


Il considere cela comme 4 lignes ce qui ne va pas pour bien faire je devrais avoir 1 ligne :

1 2008-09-22|5549|dou|toto|7500|Paris|stable||stable||plutot-en-hausse|+3|plutot-en-baisse|-10|stable||stable||stable||70|28|2|||||||20|60|20|||||10|40|20|20|10|||70|20|10|20|1      0|10|60|secteur|Région.c'est un pays magnifique loin de tout.|no,|oui bla bla bla bla bla bla bla bla bla secteur.|titi|4 |147|1 150 |Dans secteur.|Paris|4 |120 |17000|moder      ne|Paris|vi|500|5 300 |particulier|Vi|3|90|850|dans|||||||||||19/09/2008


C'est pourquoi non seulement je dois pouvoir supprimer les retours a la ligne mais en plus je dois pouvoir retirer les espace laissé par ces retour a la ligne.

Merci
0