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
29 septembre 2008 à 16:24 Citer
Ctrl+H dans le notepad.
29 septembre 2008 à 16:32 Citer
Ouais mais je connais les fonctions rechercher remplacer, j’en cherchais une plus évoluée, la a faire 100 fois c’est super long.
29 septembre 2008 à 16:37 Citer
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.
29 septembre 2008 à 16:39 Citer
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à.
29 septembre 2008 à 16:41 Citer
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à :(
29 septembre 2008 à 16:41 Citer
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..
29 septembre 2008 à 16:43 Citer
Notepad peut faire le remplacement, mais là, c’est typiquement le moment d’apprendre un langage de programmation web.
29 septembre 2008 à 16:44 Citer
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).
29 septembre 2008 à 16:45 Citer
Bon ben easy PHP alors. Merci tout le monde.
29 septembre 2008 à 16:47 Citer
et java + jdom ?
29 septembre 2008 à 16:53 Citer
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é :)
29 septembre 2008 à 16:56 Citer
sed ftw !
29 septembre 2008 à 17:21 Citer
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é.