Pages : 1
#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
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
Mais j'ai pas le tps de taper tout le script
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
Pages : 1