Recherche string dans fichier html en shell

lacassb01 Messages postés 3 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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

5 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
  2. 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
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    https://www.cjoint.com/

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