IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Recherche ligne fichier puis extraction


Sujet :

Scripts/Batch

  1. #1
    Membre averti Avatar de jbarreau-mainson
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 446
    Points : 412
    Points
    412
    Par défaut Recherche ligne fichier puis extraction
    Bonjour à tous,

    J'ai une page .html avec differentes choses dedans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <tr class="trOdd">      
    <td align="left" width="150" class="tdTitle">Release: </td> 
    <td align="left">xxxxxxxxxxxxxxxxxxxx</td> 
    </tr>   
    
    <tr class="trEven">      
    <td align="left" width="150" class="tdTitle">Version: </td>      
    <td align="left">2.80.00-3982</td>  
    </tr>   
    <tr class="trOdd">      
    <td align="left" width="150" class="tdTitle">Patch: </td>      
    <td align="left">xxxxxxxxxxxxxx</td>   
    </tr>   
    <tr class="trEven">      
    <td align="left" width="150" class="tdTitle">Build: </td>      
    <td align="left">xxxxxxxxxxxxxxxxxx</td>   
    </tr>   
    <tr class="trOdd">      
    <td align="left" width="150" class="tdTitle">Project: </td>      
    <td align="left">xxxxxxxxxxxxxxx</td>   
    </tr>   
    <tr class="trEven">      
    <td align="left" width="150" class="tdTitle">Type: </td>      
    <td align="left">xxxxxxxxxxxx</td>   
    
    </table>
    
    
    <h2>MEssage Numero :</h2>
    <blockquote>   
    
    <h3>Initialised by</h3>      
    <blockquote>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</blockquote>   
    
    <h3>Status</h3>      
    <blockquote>xxxxxxxxxxxxxxxxxxxx</blockquote>   
    
    <h3>ExtRef</h3>      
    <blockquote>xxxxxxxxxxxxxxxxxxxxxx</blockquote> 
      
    <h3>Description</h3>      
    <blockquote>xxxxxxxxxxxxxxxxx</blockquote>
    
    <h3>Solution</h3>
    <blockquote>xxxxxxxxxxxxxxxxxxxxxx</blockquote>   
    
    <h3>Installation description</h3>      
    <blockquote>xxxxxxxxxxxxxxxxxxxxx</blockquote>   
    
    <h3>Solved with</h3>      
    <blockquote>      xxxxxxxxxxxxxxxxxx<br>      </blockquote>
    
    </blockquote>
    Je souhaite faire un batch qui me permette de recuperer chacun des "paragraphes", c'est à dire par exemple tous les contenus des <h3> ainsi que des trOdd et trEven.

    J'ai pensé à SED pour rechercher dans les fichiers, mais j'avoue que je bloque un peu

    Avez vous une idée quant à une solution pour mon problème ?

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Le problème de parser de l'HTML (ou de l'XML) en batch, c'est la présence continuelle des caractères "<" et ">", qui ont un sens bien précis en langage batch... Et cela pose pas mal de soucis dans le parsing des lignes.

    Si tu veux une solution native (= sans outils externes), il te faut de toutes façons t'abstraire de la non-contiguïté des données : elles ne sont pas forcément sur la même ligne.

    Donc, j'aurais tendance pour ma part à faire ceci en deux parsings :
    • Parse du fichier HTML source (délimiteurs sur "<" et ">"), pour virer les balises.
    • Quand tu trouves une balise qui t'intéresse, tu sauves tous les tokens suivant (concaténés dans une variable) jusqu'à trouver le /balise correspondant.
    • A la balise de fermeture, tu balances la ligne produite dans un fichier intermédiaire.
    • Ensuite, tu parses le fichier temporaire, en te délimitant ce coup-ci aux espaces et aux signes "=". Tu pourras ainsi isoler plus facilement les éléments qui t'intéressent.
    Bon, c'est un premier jet, mais le problème de devoir "mettre en ligne" le code HTML sera une contrainte également avec sed, quoi qu'il en soit.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. [Batch] Recherche ligne puis suppression dans un fichier
    Par jbarreau-mainson dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 07/01/2010, 11h40
  2. [Batch] Rechercher un fichier puis créer son raccourci dans le Menu Démarrer
    Par antislash dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 12/05/2009, 13h44
  3. Rechercher un fichier puis le modifier - C#
    Par mikael2235 dans le forum Windows Forms
    Réponses: 15
    Dernier message: 13/02/2009, 15h35
  4. Recherche de fichiers puis copier avec chemin
    Par domiq44 dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 01/06/2007, 11h54
  5. Réponses: 4
    Dernier message: 11/02/2006, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo