EminoMeneko
Messages postés2434Date d'inscriptionjeudi 24 janvier 2008StatutMembreDernière intervention23 mai 2018
-
9 sept. 2011 à 20:19
Bonjour,
j'aurais besoin d'aide pour mettre en oeuvre le traitement d'un texte qui m'intéresse.
Le fichier se présente sous cette forme là :
Titre 1
Titre 1
Description 1
Entier
Titre 2
Titre 2
Description 2
Entier
Titre 3
Titre 3
Description 3
Entier
...
Exemple plus concret :
Salut les gens
Salut les gens
Je vous dis bien le bonjour
24
Comment ça va ?
Comment ça va ?
J'espère que vous aller bien.
42
...
Ce que je cherche à obtenir est quelque chose dans ce genre
Titre 1 Description 1 Entier
Titre 2 Description 2 Entier
Titre 3 Description 3 Entier
...
avec pour séparateur le caractère de tabulation.
J'utilise dnGREP qui d'après son document d'aide utilise l'implémentation de RegExp Microsoft.
Pour ce qui est de la manière de procéder j'ai plusieurs idées en tête mais j'ai du mal à les traduire en regexp.
1ère idée Supprimer une ligne vide sur deux
Remplacer le retour à la ligne des lignes non vides par un tab
2ème idée Supprimer toutes les lignes vides (remplacer ^$ par rien)
Utiliser la valeur entière comme une sorte de marqueur de fin de bloc.
Comme pour dire "traites toutes les lignes jusqu'au prochain nombre inclus, reformates comme prévu et traite le prochain bloc de lignes"
3ème idée Ajouter un caractère particulier après l'entier pour s'en servir comme délimiteur de bloc de lignes.
En principe on devrait pouvoir traiter les saut de lignes malgré tout.
Je sais qu'avec sed c'est faisable même si je ne vois pas trop la ligne mais je cherche à faire ça avec le logiciel cité plus haut et en tout cas sous Windows.
Si vous connaissez un moyen d'obtenir ça avec un autre logiciel n'hésitez pas à condition que ce soit avec un logiciel déjà implémenté dans Windows (WSH, PowerShell, etc...) ou un langage standard du web comme JavaScript ou encore une appli portable (en archive). Sinon j'ai encore Python sur Windows si vous avez une proposition à faire.