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

Linux Discussion :

Extraction de paragraphes avec condition


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2011
    Messages : 21
    Points : 8
    Points
    8
    Par défaut Extraction de paragraphes avec condition
    Salut à tous,
    je dois extraire certains blocs d'un fichier texte sous certaines conditions :
    - Le bloc doit commencer par 'fmri'
    - Le bloc doit contenir la chaîne 'restarter svc:/system/svc/restarter:default'

    Voici un example en entrée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    fmri         svc:/system/vxpbx:default
    state_time   Wed Mar 21 08:49:43 2012
    logfile      /var/svc/log/system-vxpbx:default.log
    restarter    svc:/system/svc/restarter:default
    dependency   require_all/none svc:/system/filesystem/local (online)
     
    fmri         svc:/application/management/common-agent-container-1:default
    name         Cacao, a common Java container for JDMK/JMX based management solution
    enabled      false
    dependency   require_all/none svc:/milestone/multi-user (online)
    Ce qui doit donner en sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    fmri         svc:/system/vxpbx:default
    state_time   Wed Mar 21 08:49:43 2012
    logfile      /var/svc/log/system-vxpbx:default.log
    restarter    svc:/system/svc/restarter:default
    dependency   require_all/none svc:/system/filesystem/local (online)

    Je suis arrivé à cette solution là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk '/fmri/{s=x}{s=s$0"\n"}/restarter/{p=1}/^$/ && p{print s;exit}' svcs-l_spsol03.out
    Mais seul le premier bloc est affiché, et je ne vois pas pourquoi.
    Merci de votre aide !

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Octobre 2011
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Finalement j'ai fait comme ça, c'est vachement plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    awk -vRS= '/^fmri/&&/restarter/' svcs-l_spsol03.out

Discussions similaires

  1. Extraction de caractère avec conditions
    Par nikolas92400 dans le forum SQL
    Réponses: 8
    Dernier message: 28/10/2013, 15h12
  2. [RegEx] Extraction des mot dans un paragraph avec les REGEX
    Par geforce dans le forum Langage
    Réponses: 0
    Dernier message: 29/03/2010, 18h58
  3. Réponses: 1
    Dernier message: 15/02/2010, 10h15
  4. [Débutant] Plot/Extraction data avec condition sur texte sans boucle
    Par hervé_débutant dans le forum MATLAB
    Réponses: 3
    Dernier message: 02/12/2009, 16h22
  5. Réponses: 11
    Dernier message: 28/08/2007, 14h06

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