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 :

[egrep] Besoin d'aide pour une expression régulière


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 19
    Par défaut [egrep] Besoin d'aide pour une expression régulière
    Bonjour

    Je cherche à extraire toutes les lignes d'un fichier qui :
    - ne commencent pas par #
    - ne sont pas vides

    Par contre j'aimerai garder les lignes qui commencent par #@

    Cette expression me retourne toutes les lignes sans # et non vides :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    egrep -v '^(#.*)?$' nomfichier
    Comment faire pour conserver aussi celles qui commencent par #@ ?

    J'arrive à faire quelque chose avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    egrep -v '(^[\n]?$)|(^#[^@])' nomfichier
    mais dans le résultat j'ai une ligne en trop avec juste un # alors qu'elle ne devrait pas apparaitre... les autres lignes qui ont un # n'apparaissent pas.

    Merci d'avance pour votre aide

  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
    $ cat -A plop 
    blabla$
    #blibli$
    $
    #blublu$
    #@bloblo$
    #$
    blybly$
     $
    bleble$
    #  $
    #blllll$
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ egrep -v '^[# ]*$|^#[^@]' plop 
    blabla
    #@bloblo
    blybly
    bleble

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 19
    Par défaut
    Ca marche nickel !
    Merci beaucoup

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    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 103
    Par défaut
    En fait, en vision positive, tu veux les lignes qui commencent par un caractère différent de # ou par '#@', soit:

  5. #5
    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,
    Citation Envoyé par jack-ft Voir le message
    En fait, en vision positive, tu veux les lignes qui commencent par un caractère différent de # ou par '#@', soit:
    Pas tout à fait, car il ne veut pas non plus les lignes vides

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Une ligne qui commence par un caractère autre que dièse n'est pas vide!

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    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 103
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    Pas tout à fait, car il ne veut pas non plus les lignes vides
    euh... tu dis: "il ne veut pas les lignes qui ne contiennent pas de caractères"...
    donc (grâce à la pensée positive) je dis: "il ne veut que des lignes qui commencent par un caractère"...

    Donc, je plussoie Flodelarab et je moinssoie (pour une fois) zipe31, na!

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

Discussions similaires

  1. Besoin d'aide pour une expression régulière
    Par StringBuilder dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 06/12/2012, 12h12
  2. Besoin d'aide pour une expression régulière
    Par chlon dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/07/2009, 16h41
  3. [RegEx] Besoin d'aide pour une expression régulière
    Par vallica dans le forum Langage
    Réponses: 4
    Dernier message: 04/09/2007, 19h59
  4. Besoin d'aide pour une expression reguliere
    Par Jim_Nastiq dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2006, 09h11
  5. Besoin d'aide pour une expression régulière
    Par planetiss dans le forum Langage
    Réponses: 5
    Dernier message: 16/02/2006, 19h04

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