Supprimer les sauts de ligne ^M dans un fichier

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 :

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

Salut,

T’as pas un exemple de ligne pour nous montrer ton problème ?

Car avec un ‘sed’ ou un ‘tr’ ça doit pouvoir ce traiter.

Genre:

Bonjour et merci.

Voici un exemple de fichier :

http://cjoint.com/?jwqyt7uug4

A savoir que le fichier est beaucoup plus volumineux et donc a beaucoup plus de retour a la ligne.

J’ai essayé ton code :

mais cela ne fonctionne pas.

$ cat test.log | dos2unix | sed '/^$/d' 2008-09-22|5549|dou|toto|7500|Paris|stable||stable||plutot-en-hausse|+ 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|moderne|Paris|vi|500|5 300 |particulier|Vi|3|90|850|dans|||||||||||19/09/2008

(PS: j’ai coupé les lignes trop longues)

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’enlève les | et ok sauf que pour cela Gnumeric considère 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|10|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|10|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|moderne|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

Ah oui effectivement :wink: En fait c’est quasiment comme Ludo a indiqué :

[quote=“pcsystemd”]
J’ai essayé ton code :

mais cela ne fonctionne pas.[/quote]

Je me doute c’était un exemple. :slightly_smiling:

Merci beaucoup, cela fonctionne mais j’ai un hic c’est que du coup tous est considéré comme une seule ligne . Je m’explique dans mon fichier j’ai :

[quote]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|10|10|60|secteur|Région.c’est un paysmagnifique 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|moderne|Paris|vi|500|5 300|particulier|Vi|3|90|850|dans|||||||||||19/09/20082008-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|10|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 |Danssecteur.|Paris|4|120|17000|moderne|Paris|vi|500|5300|particulier|Vi|3|90|850|dans|||||||||||19/09/20082
008-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|10|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 |Danssecteur.|Paris|4|12|17000|moderne|Paris|vi|500|500|particulier|Vi|3|90|850|dans|||||||||||19/09/2008[/quote]

chaque nouvelle ligne commance par une date et fini par une date :
Début de ligne :2008-09-22
fin de ligne : 19/09/2008

hors en executant la commande que vous m’indiquer :

mon fichier devient :

[quote]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|10|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|moderne|Paris|vi|500|5300|particulier|Vi|3|90|850|dans|||||||||||19/09/2008200
8-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|10|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|moderne|Paris|vi|500|5300|particulier|Vi|3|90|850|dans|||||||||||19/09/200820
08-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|10|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|moderne|Paris|vi|500|300|particulier|Vi|3|90|850|dans|||||||||||19/09/2008[/quote]

et donc quand j’exporte dans Gnumeric tout est exporté comme une seule ligne .

Merci