Unix sed: tri sélectif

Fermé
mabd - 24 mai 2007 à 17:15
mabd Messages postés 2 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 29 juin 2007 - 25 mai 2007 à 11:09
bonjour

avec sed sous unix:
dans une ligne, je souhaite récupérer 3 mots clés et le chiffre qui lui est respectivement associé:

ligne de référence:

<h2 > <FONT color="green"> ffffff PRODUCTION :18/05/2007 - 21/05/2007 </font></h2><TABLE><TR><td bgcolor="#C0C0C0">mot cle 1 </td><td>44</td><td bgcolor="#C0C0C0">mot cle 2 </td><td>29</td><td bgcolor="#FFFF00">mot cle 3 </td><td>199</td></TABLE></TR>

#############
résultat attendu :

##############
mot cle 1 : 44</gras>
mot cle 2 : 29
mot cle 3: 199
#############

merci

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
24 mai 2007 à 18:07
Salut,

Peut être y-a-t-il plus optimisé (à répéter en fonction du nombre de mot-clé) :
sed 's|.*\(mot cle 3 \)[td<>/]*\([0-9][0-9]*\).*|\1: \2|' fichier
;-))
0
mabd Messages postés 2 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 29 juin 2007
25 mai 2007 à 11:09
pas mal c'est tout à fait cela
merci
comment traiter:
1/ le cas où le mot clé n'existe pas (à ce moment-là il faut un retour égal à "0")
2/ dans le cas où on doit traiter ce fichier chaque jour pour faire des stat à la fin du mois, j'envisage deux solutions:
a) envoi des chiffres dans un fichier de la manière suivante:
mot clé 1 ; mot clé 2; ....
5 ; 8 ; ...
2 ; 12 ; ...
5; 5 ; ...
avec une ligne par jour

b) faire l'addition au fur et à mesure
dans l'exemple ci-dessus on aurait alors à l'issu du troisième jour:
mot clé 1 ; mot clé2 ...
12 ; 25
(à savoir 5+2+5); ( à savoir 8+12+5)

qu'en pensez-vous?

je précise que le but final est: à partir d'un fichier de log (ou de compte rendu de traitement pour être précis) de récupérer le nombre de traitements qui se sont biens passés et ceux qui ont eu un souci ... (4 ou 5 types définis clairement par mot clé).
le log sort tous les jours et les statistiques sont elles mensuelles

merci
0