Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/06/2010, à 12:48

bellecuisse

petit aide pour un script

bjr,

j'ai plusieurs fichiers, dans chacun d'entre eux j'ai une balise comme celle la:
<dt class="pasDeClasse">Courriel :</dt>
                                 <dd>truc [ à ] wanadoo.fr</dd>
je ne trouve pas le moyen d'avoir un résultat comme celui-ci: Courriel :</dt><dd>truc [ à ] wanadoo.fr</dd>
si vous avez un peu de tps à perdre, je veux bien un coup de main.
cordialement

Hors ligne

#2 Le 08/06/2010, à 12:50

Marmounette

Re : petit aide pour un script

utilises la commande sed

tu veux supprimer la partie <dt class="pasDeClasse"> c'est ca ?


Il reste un gnocchi devant mes yeux... Ah non il vient de disparaître ! :D

Hors ligne

#3 Le 08/06/2010, à 12:53

bellecuisse

Re : petit aide pour un script

je veux recupere uniquement les choses qui se trouvent entre "Courriel :" et </dd>

Hors ligne

#4 Le 08/06/2010, à 12:58

bellecuisse

Re : petit aide pour un script

je m'en rapproche avec un petit cat fichier | grep \<dd\> | grep à
mais c'est pas bien bo
smile

Hors ligne

#5 Le 08/06/2010, à 13:03

Marmounette

Re : petit aide pour un script

Ok

Il faut que tu fasse un script qui met tout tes memes fichiers dans un dossier, qu'il aille dans ce dossier, qu'il fasse la liste des noms ( ls > list.out )

puis qu'il en détermine le nombre de fichiers (j'ai oublié la commande mais c'est un truc avec wc)

ensuite tu fais une boucle for sur le nombre de fichiers
il lit la ligne n de ton fichier list.out
(il obtient donc le nom du fichier qu'il traite)
il fait un grep  "[ à ]"  "fichier en question" | sed "s/<dd>//g" | sed "s/</dd>//g" > email
email = $email""\n"
finir la boucle
echo -e email > email.txt

le fichier email.txt contiendra tout smile

Mais j'ai pas le tps de taper tout le script smile


Il reste un gnocchi devant mes yeux... Ah non il vient de disparaître ! :D

Hors ligne

#6 Le 08/06/2010, à 13:26

Tomzz

Re : petit aide pour un script

Bonjour,
Pour ce genre de manip j'utilise perl, juste parce que je trouve la syntaxe plus facile.

perl -0777ne 'print for /Courriel :(.*?)<\/dd>/sg' fichier_à_traiter.txt>fichier_de_résultat.txt

Ça va lire le fichier "fichier_à_traiter.txt" et inscrire tout ce qui est entre "Courriel :" et "</dd>" dans "fichier_de_résultat.txt".


PS: Certains caractères spéciaux peuvent poser problème, il suffit de les échapper avec \

Hors ligne