Proutch

Un nouveau blog sur Wefrag le blog de Sylario.

Outil de recherche et remplacement de texte avec incrémentation

J’ai un bloc de texte (du xml) où je veux incrémenter à plusieurs endroits deux morceaux de chainex précis :
ex

<name="truc1">
<glouglou ip="42.42.42.1">
</name>
<haha nom="truc1" ip="42.42.42.1"/>
<chaine_relou>42.42.42.11</chaine_relou>
<rechainerelou>blabla123456</chainerelou>

En gros je veux recopier n fois ce bout de texte en changeant uniquement dans les "truc1" et "42.42.42.1" les 1 par n. Attention, ya plein de saloperies qui bougent pas au milieu avec du texte qui ressemble a mon ip et a mon truc.

La je me le tape a la main, j’en appelle à la sagesse des blogs de nofrag pour me filer un outil magique (un truc avec des regex ?) qui me permettrait de faire ça en 2sec.

Merciiiii

13 commentaires pour “Outil de recherche et remplacement de texte avec incrémentation”

  1. SPhoenix dit :

    Ctrl+H dans le notepad.

  2. Sylario dit :

    Ouais mais je connais les fonctions rechercher remplacer, j’en cherchais une plus évoluée, la a faire 100 fois c’est super long.

  3. d3ltr33 dit :

    initialise un tableau (a 2 dimensions à priori) avec les valeurs voulues, ensuite, tu utilises la variable tableau avec l’indice voulu au moment propice.
    ca te fera un code léger et sans redondance.

  4. jeanjeanlebanni dit :

    http://pastie.org/281402
    Ruby.
    Tu peux le faire en js, en php, en ce que tu veux c’est le même principe.

    edit: woops, j’avais pas compris que tu avais déjà ton texte à la base.
    Méthode que je ferais:
    une boucle qui lit chaque ligne de ton document (c’est un flatfile ou ton xml est stocké dans un objet type simplexml ou autre?), à chaque fois que ça trouve ‘<name="truc1">’ tu fais un replace dessus avec le compteur de ta boucle et voilà.

  5. Sylario dit :

    Je veux bien mais j’ai pas d’environnement de dev installé là. Et le temps d’importer le fichier, parser tout ça… je connais que Notepad++ comme éditeur de texte sympa et les macros sont pas codable, c’est juste un enregistrement des actions ala photoshop.

    Il y a bien des éditeurs de textes avec ça non?

    EDIT

    Merci jean jean, mais j’ai pas d’environnement de dev là :(

  6. FredoxNF dit :

    Un truc comme ça ? (si j’ai bien compris ta requête)

    Pour le screen, c’est l’éditeur Rapid PHP mais de ce que je m’en rappelle, bon nombre d’éditeurs de texte "avancé" ont cette fonctionnalité.

    Edit: ok non en fait, j’ai zappé le côté incrémentation de ton problème. Je me rappelle que j’avais cherché un logiciel dans le genre il fût un temps mais au bout du compte, j’avais codé ça en PHP pour aller plus vite..

  7. d3ltr33 dit :

    Notepad peut faire le remplacement, mais là, c’est typiquement le moment d’apprendre un langage de programmation web.

  8. jeanjeanlebanni dit :

    Je suis presque sûr que les regex ne t’aideront pas sur le coup. Si t’as openoffice ou autre installé, essaye avec une macro dedans. C’est ballot, c’est juste l’histoire de 4 lignes tout au plus.

    Si t’es sous nux, t’as tout ce qui te faut de base par contre (bash).

  9. Sylario dit :

    Bon ben easy PHP alors. Merci tout le monde.

  10. bobinou dit :

    et java + jdom ?

  11. FredoxNF dit :

    PHP en ligne de commande pour éviter d’avoir à installer un environnement complet et gagner du temps non ? Enfin, c’est bizarre déjà de coder sans avoir un environnement de dev à côté :)

  12. Pignouf dit :

    sed ftw !

  13. Sylario dit :

    Au final j’ai généré mes 100 objets avec ruby (je l’avais dans Cygwin) vive JeanJean \o/ (celui de donjon?)
    Fredox : Disons que je fait du test et que l’historique de mon environnement est compliqué.

Laisser un commentaire

Si vous avez un compte sur WeFrag, connectez-vous pour publier un commentaire.

Vous pouvez, entre autres, utiliser les tags XHTML suivant :
<a href="" title="">...</a>,<b>...</b>,<blockquote cite="">...</blockquote>,<code>...</code>,<i>...</i>