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

Shell et commandes GNU Discussion :

Commandes shell : supprimer plusieurs lignes jusqu'à arriver à un motif


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 86
    Points
    86
    Par défaut Commandes shell : supprimer plusieurs lignes jusqu'à arriver à un motif
    Bonjour à tous,
    J'ai un texte de forme :
    Phrase: "TI - Effect"
    Meta Candidates (4):
    861 Effect [Qualitative Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    694 Ti (Tebi) [Quantitative Concept]
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    Meta Mapping (888):
    694 Ti (Tebi) [Quantitative Concept]
    861 Effect [Qualitative Concept]
    Meta Mapping (888):
    694 Ti (Tebi) [Quantitative Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    Meta Mapping (888):
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    861 Effect [Qualitative Concept]
    Meta Mapping (888):
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    J'aimerais ne garder que les lignes contenant Meta Mapping, donc j'aurais un résultat :
    Meta Mapping (888):
    694 Ti (Tebi) [Quantitative Concept]
    861 Effect [Qualitative Concept]
    Meta Mapping (888):
    694 Ti (Tebi) [Quantitative Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    Meta Mapping (888):
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    861 Effect [Qualitative Concept]
    Meta Mapping (888):
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    Entre autre supprimer toutes lignes relatives à meta candidates
    donc supprimer toute cette partie
    Meta Candidates (4):
    861 Effect [Qualitative Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    694 Ti (Tebi) [Quantitative Concept]
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    Sous commandes shell sed par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '/Meta Candidates (/d'  texte
    ne fait aucun effet
    J'aimerais également savoir comment peut on spécifier qu'on supprime toutes les lignes jusqu'à arriver au motif : Meta Mapping.

    Je vous remercie à l'avance.

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '1,/patern/ d' fichier

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 86
    Points
    86
    Par défaut
    Merci frp31,
    la commande n'élimine pas toutes les lignes contenant meta candidates. J'ai essayé de récupérer les lignes contenant le motif que je voulais garder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed -n '/Meta Mapping/{p;n;p;n;p;n;p;n;p;n;p}' text
    Ça marche bien.

    Je vous souhaites une bonne année

  4. #4
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Comme toujours, la question initiale manque cruellement de détails pour pouvoir répondre précisément

    Faut-il récupérer tout ce qui se trouve après le 1er motif "Meta Mapping" et ce jusqu'à la fin du fichier ?
    Le motif "Meta Candidates" est-il toujours avant le motif "Meta Mapping" ?
    Le motif "Meta Candidates" apparaît qu'une fois ou plusieurs ?
    Le motif "Meta Mapping" est-il toujours suivi de 2 lignes ?

    Las 4 syntaxes qui suivent font toutes la même chose, mais tiennent compte des remarques précédentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sed -n '/^Meta Mapping/,$p' fichier
    sed '1,/Meta Mapping/{/Meta Mapping/!d}' fichier
    sed '1d;/^Meta Candidates/{:z;N;/\nMeta Mapping/!bz;s/.*\n//}' fichier
    sed -n '/^Meta Mapping/,+2p' fichier

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Comme toujours, la question initiale manque cruellement de détails pour pouvoir répondre précisément
    Oui, mais tout ça c'est du passé!
    A partir de 2013, toutes les questions seront formulées avec spécifications très précises!

  6. #6
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 450
    Points
    19 450
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    A partir de 2013, toutes les questions seront formulées avec spécifications très précises!
    C'est beau l'optimisme

  7. #7
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Oui, mais tout ça c'est du passé!
    A partir de 2013, toutes les questions seront formulées avec spécifications très précises!
    Si elles le sont autant que l'interprétation du calendrier Maya, on n'est pas sorti de l'auberge

    Bonne année et tous mes vœux @ toutes z'et @ tous tant que j'y suis

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Points : 86
    Points
    86
    Par défaut
    Bonsoir

    Comme toujours, la question initiale manque cruellement de détails pour pouvoir répondre précisément
    Faut-il récupérer tout ce qui se trouve après le 1er motif "Meta Mapping" et ce jusqu'à la fin du fichier ?
    Le motif "Meta Candidates" est-il toujours avant le motif "Meta Mapping" ?
    Le motif "Meta Candidates" apparaît qu'une fois ou plusieurs ?
    Le motif "Meta Mapping" est-il toujours suivi de 2 lignes ?
    En fait, le nombre de lignes après le motif "Meta Mapping" varie. Et oui le motif "Meta Candidates" est toujours avant le motif "Meta Mapping" mais également le nombre après le motif "Meta Mapping" varie.
    Les motifs : (Meta Mapping et Meta Candidates) appraissent plusieurs fois dans le texte. Et enfin, j'ai voulu juste récupérer les parties concernant le motif "Meta Mapping".

    ce que je fais c'est à partir d'un texte médical, j'extrais des concepts médicaux, avec des outils. Et le petit exemple que j'ai cité est le résultat que j'ai récupéré pour une seule phrase :
    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
     
    Meta Candidates (4):
    861 Effect [Qualitative Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    694 Ti (Tebi) [Quantitative Concept]
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    Meta Mapping (888):
    694 Ti (Tebi) [Quantitative Concept]
    861 Effect [Qualitative Concept]
    Meta Mapping (888):
    694 Ti (Tebi) [Quantitative Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    Meta Mapping (888):
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    861 Effect [Qualitative Concept]
    Meta Mapping (888):
    694 TI (Trial Inclusion and Exclusion Criteria Submission Domain) [Idea or Concept]
    861 Effect (Effect, Appearance) [Qualitative Concept]
    J'ai pu réglé le problème.
    Merci pour ton aide Zipe31.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. commande sql sur plusieurs lignes dans un shell
    Par oguevel dans le forum DB2
    Réponses: 2
    Dernier message: 14/01/2010, 09h48
  2. Supprimé plusieurs ligne?
    Par skorpio dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 12/07/2007, 10h33
  3. VBA supprimer plusieur ligne excel
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/06/2006, 21h56
  4. [querydataset] supprimer plusieurs lignes
    Par doudine dans le forum JBuilder
    Réponses: 5
    Dernier message: 21/10/2005, 14h21
  5. Supprimer plusieurs lignes d'un DBGrid via Popupmenu?
    Par BVK dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2004, 12h27

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