Recherche string dans fichier html en shell

lacassb01 Messages postés 3 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
j'ai installé CYGWIN sur un poste en W2003
dans un répertoire de logs j'ai des centaines de fichiers en html générés par un outil.
au sein de ces fichiers se trouvent des erreurs que je voudrais scruter automatiquement.
la question :
je cherche un moyen pour relever automatiquement des strings d'erreur au sein de ces fichiers.
j'ai essayé avec grep et toutes les options.
j'arrive à trouver les erreurs avec la commande FIND sous commande DOS.
je souhaiterai pouvoir automatiser la recherche de ces erreurs grâce à la cron.
pourriez-vous m'aider?
merci
A voir également:

5 réponses

mamiemando Messages postés 34184 Statut Modérateur 7 888
 
Il faudrait que tu nous dises précisément le genre de chaîne que tu veux extraire, et si elles sont à l'intérieur d'un fichier, ou concernent des noms de fichier.

Pour chercher pattern dans les fichiers présents dans le répertoire courant (ou un sous répertoire) (-n = à l'intérieur des fichiers, -r = récursivement, -i = ignorer la casse) :
grep -nri pattern *

Pour lister les fichiers à partir du répertoire courant :
find *

Tu peux combiner les deux avec un pipe '|', qui peut être vû un peu comme une composition de fonction si tu aimes bien les maths. Par exemple les fichiers qui contiennent pattern dans leur nom
find * | grep -i pattern

Bonne chance
0
lacassb01 Messages postés 3 Statut Membre
 
Bonjour,
je pensais recevoir un courriel lorsqu'une réponse me serait posté. Mais il semblerait que non.

Je cherche un string du type "Failed" ou "Error" à l'intérieur des fichiers html :

Résultat avec la commande sous DOS :
find "Failed" *2008_02_04-10*Log.html
---------- URS-281_SBI_P_36_TA-2008_02_04-10_26_29-LOG.HTML
<td width=70% rowspan="2" >Error: 5555,Failed in running action 'Déploiement' o
n ClearQuest entity. </td>
<td width=70% rowspan="2" >Error: 14015,Failed to synch by Quality Center bugs.
This operation is permitted only when the entity is in an editable state (that
is, when an AdActionDef of the appropriate type is being applied)., Source: cqol
e</td>
<td width=70% rowspan="2" >Error: 5555,Failed. </td>
<td width=70% rowspan="2" >Error: 5555,URS Failed for 281_SBI_P_36_TA. </td>

résultat avec la commande grep sous cygwin :
find * | grep -i "Failed"
aucun

si je fais un more du fichier html sous cygwin le résultat est :
$ more URS-718_SBI_C-2008_02_04-10_58_42-Log.html
ÿþ< H T M L > < H E A D > < M E T A H T T P - E Q U I V = " C o n t e n t - Ty
p e " C O N T E N T = " t e x t / h t m l ; c h a r s e t = u t f - 1 6 " >
< T I T L E > S y n c h r o n i z a t i o n L o g ( D : \ P r o g r a m F
i l e s \ C o m m o n F i l e s \ M e r c u r y I n t e r a c t i v e \ T D
B u g S y n c \ L o g s \ U R S - 7 1 8 _ S B I _ C - 2 0 0 8 _ 0 2 _ 0 4 - 1 0
_ 5 8 _ 4 2 - L o g . h t m l ) < / T I T L E > < / H E A D > < B O D Y >

il y a des blancs entre chaque lettre, la structure du fichier est difficilement compréhensible.
j'ai essayé une recherche en mettant un blanc entre chaque lettre dans le string comme "F a i l e d"
et rien ne ressort.

Une idée?
Merci
Benoît
0
mamiemando Messages postés 34184 Statut Modérateur 7 888
 
Tu peux mettre ton fichier en pièce jointe (par exemple sur cjoint), et nous donner le lien et les lignes que tu veux extraire ?

Bonne chance
0
lacassb01 Messages postés 3 Statut Membre
 
Bonjour,
j'aimerai pouvoir mettre le fichier en piéce jointe mais pouvez me dire comment procéder?
Merci
Benoît
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

https://www.cjoint.com/

Parcourir => sélectionner => Valider => Créer le lien => tu colles l'emplacement ici ;-))
0