Rechercher : dans
Par :

Supression de sauts de ligne (fichier texte)

Dernière réponse le 9 jui 2009 à 22:27:27 Bernd, le 8 jui 2009 à 16:51:49 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un fichier dont le texte se présente comme ceci:

# Chaine1
Chaine2
# Chaine3
Chaine4
# Chaine5
Chaine6


Je souhaiterais supprimer le saut de ligne des lignes commençant par #, pour avoir ceci:

# Chaine1 Chaine2
# Chaine3 Chaine4
# Chaine5 Chaine6


Est-ce qu'il existe un moyen simple pour effectuer cette opération?
Merci d'avance pour vos réponses!
Configuration: Windows XP
Firefox 3.5

Meilleures réponses pour « Supression de sauts de ligne (fichier texte) » dans :
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Les balises HTML VoirHTML, un langage à balises Le HTML n'est pas un langage de programmation. Il s'agit d'un langage permettant de décrire la mise en page et la forme d'un contenu rédigé en texte simple. Une page HTML est ainsi un simple fichier texte...
Qu'est-ce qu'un fichier? VoirQu'est-ce qu'un fichier? Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...
Extensions de fichiers VoirIntroduction aux fichiers Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...

1

jipicy, le 8 jui 2009 à 18:05:28

Salut,

Sous Linux en ligne de commande avec un petit utilitaire nommé "sed" (il existe aussi en version pour Windows), c'est une formalité :

tmpfs]$ cat plop
# Chaine1
Chaine2
# Chaine3
Chaine4
# Chaine5
Chaine6

[tmpfs]$ sed -i.bak 'N;s/\n/ /' plop

[tmpfs]$ cat plop
# Chaine1 Chaine2
# Chaine3 Chaine4
# Chaine5 Chaine6

[tmpfs]$
Si d'aventure ça te tentait, il te faudra adapter la commande pour Windows au niveau du caractère "fin de ligne" (\n) qui se traduit par "retour chariot + fin de ligne" (\r\n)...
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

2

Raymond PENTIER, le 8 jui 2009 à 18:16:55

...
sinon tu ouvres ton fichier avec Word, tu travailles avec Rechercher/Remplacer et l'option Spécial ; puis tu sauvegardes au format Texte .txt C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂

Répondre à Raymond PENTIER

3

jipicy, le 8 jui 2009 à 18:22:19

<Hors sujet>

C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂

Tu feras moins le mariole quand on se pointera tous chez toi cet été ;-DDDDD

</Hors sujet>
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

4

Bernd, le 8 jui 2009 à 23:03:08

Merci pour vos réponses!

J'ai essayé sed, par contre il ne remplace pas tout le texte. Je me suis basé sur la commande que tu m'as donné et je l'ai modifiée pour que seules les lignes commençant par "#" soient prises en compte (en effet il y a du texte à ne pas traiter).

J'ai essayé ceci:

sed -i.bak "N;s/#\(.*\)\n/\1 /" plop.txt


Ca fonctionne, les sauts de ligne sont bien supprimés, mais pas partout! (Les 2/3 du texte environ sont remplacés)
De quoi cela peut-il venir?
Le fichier n'est pourtant pas très volumineux (15 ko environ). Je précise que j'ai la version 4.2-1 pour Windows.




Je n'ai pas Word mais j'ai OpenOffice, par contre je n'ai pas trouvé comment remplacer/supprimer un saut de ligne.

J'ai aussi essayé avec deux éditeurs de texte (Notepad++ et PSPad), mais je n'ai pas non plus trouvé comment remplacer/supprimer un saut de ligne. J'ai fait des essais avec \r, \n, \r\n en expressions régulières, sans succès.
Quelqu'un sait s'il est possible de faire cette opération avec OpenOffice ou avec un éditeur de texte?


Merci pour votre aide!

Répondre à Bernd

5

jipicy, le 9 jui 2009 à 07:39:04

Je me doutais bien que tout ton texte n'était pas conforme à l'exemple (d'où la nécessité de donner des exemples le plus précis afin d'obtenir une solution maximisée)...

Essaye avec ça :

[tmpfs]$ cat plop
# Chaine1
Chaine2
# Chaine3
Chaine4
# Chaine5
Chaine6
Chaine7
Chaine8
# Chaine9
Chaine10

[tmpfs]$ sed '/^#/ N;s/\n/ /' plop
# Chaine1 Chaine2
# Chaine3 Chaine4
# Chaine5 Chaine6
Chaine7
Chaine8
# Chaine9 Chaine10

[tmpfs]$
Je n'ai pas mis le "-i.bak". A rajouter qu'une fois les essais concluants...
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

6

jipicy, le 9 jui 2009 à 08:55:03

La même sur Windows...

C:\Program Files\GnuWin32\bin>type plop.txt
# Chaine1
Chaine2
# Chaine3
Chaine4
# Chaine5
Chaine6
Chaine7
Chaine8
# Chaine9
Chaine10

C:\Program Files\GnuWin32\bin>sed "/^#/ N;s/\n/ /" plop.txt
# Chaine1 Chaine2
# Chaine3 Chaine4
# Chaine5 Chaine6
Chaine7
Chaine8
# Chaine9 Chaine10

C:\Program Files\GnuWin32\bin>
;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

7

 Bernd, le 9 jui 2009 à 22:27:27

Merci beaucoup jipicy!

Oui c'est de ma faute, je penserai à donner un exemple plus précis la prochaine fois que je demande de l'aide...


Merci encore et bonne soirée!

Répondre à Bernd