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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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