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 :

Supprimer la ligne contenant le motif + la ligne qui la suit


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Par défaut Supprimer la ligne contenant le motif + la ligne qui la suit
    Bonsoir à tous,
    voilà je voudrais supprimer des lignes de mes textes contenant le motif : 'AB -' et sa ligne suivante.
    Par exemple:
    TI - [Not available].
    TI - Nutritional control of lipid synthesis.
    AB - Dietary modification for the manipulation of lipid biosynthetic pathways
    has currently become a major direction for improving health status. Certainly

    TI - Nutritional effects of autoxidized fats in animal diets. 3. The growth of turkeys on diets containing oxidized fish oil.
    J'ai essayé avec le filtre sed:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed  '/^AB  -/+1d' fichier.txt
    mais il me supprime même le début de la deuxième ligne suivante, i.e que j'ai comme résultat:
    TI - [Not available].
    TI - Nutritional control of lipid synthesis.
    Nutritional effects of autoxidized fats in animal diets. 3. The growth of turkeys on diets containing oxidized fish oil
    Voilà que doit je faire pour supprimer juste les lignes contenant le motif " AB - " + la ligne suivante.
    Merci pour toutes vos réponses.

  2. #2
    Expert confirmé

    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
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ cat plop 
    TI - [Not available].
    TI - Nutritional control of lipid synthesis.
    AB - Dietary modification for the manipulation of lipid biosynthetic pathways
    has currently become a major direction for improving health status. Certainly
    TI - Nutritional effects of autoxidized fats in animal diets. 3. The growth of turkeys on diets containing oxidized fish oil. 
     
    $ sed '/^AB -/{N;d}' plop 
    TI - [Not available].
    TI - Nutritional control of lipid synthesis.
    TI - Nutritional effects of autoxidized fats in animal diets. 3. The growth of turkeys on diets containing oxidized fish oil. 
     
    $

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Par défaut
    Merci Zipe31 pour ta réponse,mais j'ai toujours le même problème ils restent toujours des phrases importantes qui sautent avec cette commande.

  4. #4
    Expert confirmé

    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
    Par défaut
    Alors c'est que le motif n'est pas conforme, ou que ton fichier cache quelques caractères non-imprimables, ou encore qu'il n'est pas au bon format

    Peut-on en avoir un exemple plus concret ?

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Par défaut
    Bonsoir,oui peut être comme vous dite.
    voilà ci joint mon fichier avant et après les modifications sous commandes.
    Les commandes sont respectivement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    root@ubuntu:/home/sabrina# sed '/^AB  - /d' fichier.txt >3.txt
     
    root@ubuntu:/home/said# sed '/^AB  - /{N;d}' fichier.txt >4.txt
    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé

    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
    Par défaut
    Question subsidiaire : Faut-il systématiquement supprimer la ligne suivant le motif AB - ?
    Ou uniquement si cette ligne ne débute pas par TI - ?

    Avec le bon nombre d'espaces (2) aprés "AB" ça va déjà mieux

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Par défaut
    En fait, mon texte est codé selon différents champs: TI - pour dire les titres. AB- pour dire Abstract.

    Je souhaites garder que les titres, j'ai remarqué que le champ AB- contient des fois deux lignes mais si j'élimine la ligne contenant le champ AB - la deuxième ligne ou la suivante reste dans le texte. et peut fausser après mes tests sans me rendre compte.

    Oui si cette ligne ne débute pas par TI - parce que qu'on je fait supprimer systématiquement supprimer la ligne suivant le motif AB - des lignes du champ TI- disparaissent également.

    Que faire à ce moment??

  8. #8
    Expert confirmé

    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
    Par défaut
    Essaies ça sed '/^AB -/{N;/\nTI -/!d;D}' fichier.txt, ça devrait aller

  9. #9
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Par défaut
    j'ai toujours le même résultat que ceux d'auparavant.
    Merci Zipe31 pour ton aide, je vais essayer de comprendre d'où vient ce problème.
    Bonne nuit

  10. #10
    Expert confirmé

    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
    Par défaut
    Voilà ce que j'obtiens chez moi :
    Fichiers attachés Fichiers attachés

  11. #11
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 63
    Par défaut
    Je ne comprends pas du tout pourquoi avec une même commande chez moi je reçois des résultats faussé.
    Fichiers attachés Fichiers attachés

  12. #12
    Expert confirmé

    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
    Par défaut
    Pourquoi ?

    Parce que ton fichier il a transité par chez Micro$oft

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TI  - 15-Hdroxyprostaglandin dehydrogenase activity in vitro in lung and kidney of^M$
          essential fatty acid-deficient rats.^M$
          metabolism in perfused rat liver.^M$
          rate and the level of food utilization in rainbow trout (salmo gairdneri)].^M$
          of the gallstone producing diet with squalene, cholesterol, certain other^M$
          sterols, fish oil fatty acid ethyl esters, and modification of the basal diet on ^M$
          gallstone production and levels of cholesterol in serum and liver.^M$
    TI  - Alteration and recovery of bleeding times, platelet aggregation and fatty acid^M$

  13. #13
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Bonjour
    utilises la commande dos2unix sur ton fichier pour régler ton souci.

    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/06/2011, 00h40
  2. Supprimer les lignes contenants un mot specifique en batch file
    Par stpaul04 dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 12/02/2011, 14h11
  3. [XL-2007] Macro, pour supprimer les lignes contenant « #REF! »
    Par LittleDaddy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/01/2011, 00h05
  4. Supprimer ligne contenant un mot précis
    Par DjiLow dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/07/2010, 09h19

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