Unix sed: tri sélectif
mabd
-
mabd Messages postés 2 Statut Membre -
mabd Messages postés 2 Statut Membre -
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
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
A voir également:
- Unix sed: tri sélectif
- Sed supprimer ligne - Astuces et Solutions
- Sed - Astuces et Solutions
- Fichier executable unix - Forum MacOS
- Formation ibm aix unix ✓ - Forum Linux / Unix
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? ✓ - Forum Linux / Unix
2 réponses
Salut,
Peut être y-a-t-il plus optimisé (à répéter en fonction du nombre de mot-clé) :
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;-))
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
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