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 :

Faire un sed de plusieurs expressions


Sujet :

Linux

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Par défaut Faire un sed de plusieurs expressions
    HEllo !

    Voilà, j'ai une liste ( assez énorme), et j'aimerais supprimer quelques lignes.

    A priori, j'aurais fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "/truc1/d" liste >> liste1
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "/truc2/d" liste1 >> liste2
    ...
    etc

    DOnc pas tres "pro"

    mais le pb, c'est qu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "/("truc1"|"truc2"|"truc3")/d" liste >> newliste
    ne marche pas :/

    QQUn saurait pkoi ?

    merci

    Christophe

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Juste deux questions :

    Citation Envoyé par Krispy
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "/truc1/d" liste >> liste1
    Le double chevron est bien voulu ??? On ajoute bien au fichier, quelque soit son contenu antérieur qui sera conservé ?

    Sinon, pourquoi ne pas piper les sed ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed "/truc1/d" liste | sed "/truc2/d" > newliste
    Voire, pour mettre tous les "sed" sur un pied d'égalité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat liste | sed "/truc1/d" | sed "/truc2/d" > newliste

    Sinon, une autre solution consiste à donner plusieurs expressions à un même sed :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "/truc1/d" -e "/truc2/d" -e "/truc3/d" liste > newliste

    Bonne continuation ...

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Par défaut
    En fait, pr répondre à ta question, je prends la liste, je fais un sed, j'en sors une liste1, je reprends la liste1, j'en fais un sed, et j'en sors la liste2 et ainsi de suite.

    voilà le pourquoi du double chevron. sinon, je n'ai que le dernier caractere non ?

    Mais sinon, j'apprécie ton aide, la derniere solution me convient parfaitement

    merci

  4. #4
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Citation Envoyé par Krispy
    En fait, pr répondre à ta question, je prends la liste, je fais un sed, j'en sors une liste1, je reprends la liste1, j'en fais un sed, et j'en sors la liste2 et ainsi de suite.

    voilà le pourquoi du double chevron. sinon, je n'ai que le dernier caractere non ?
    Je ne crois pas, non ... avec un simple chevron, c'est la totalité du résultat du sed qui est dans le fichier.

    La principale différence, c'est qu'avec un double chevron, tu ajoutes le résultat du sed aux résultats précédents s'il y en avait.

    Bonne continuation.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/07/2007, 10h28
  2. Faire un "Dir" avec plusieurs extensions
    Par Invité(e) dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 15/05/2006, 12h19
  3. Sed sur plusieurs fichiers
    Par gangsoleil dans le forum Linux
    Réponses: 4
    Dernier message: 21/02/2006, 11h55
  4. Réponses: 6
    Dernier message: 15/02/2006, 19h29
  5. Faire un lien de plusieurs à plusieurs
    Par NicoLindini dans le forum Access
    Réponses: 1
    Dernier message: 30/11/2005, 19h48

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