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 :

Commande Grep


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut Commande Grep
    Bonjour à tous,
    Voila mon problème, je veux exécuter cette commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -v '^[#] /etc/inittab | grep -v '^$' | sed -n '1,3p'
    Si j'exécute cette commande ,ça marche et la machine m'affiche bien les 3 prémières lignes non vides du fichier /etc/inittab et ne commençant pas par #.
    Ma question c'est est-ce qu'on peux avoir la même chose tout en combinant les deux commandes grep, c'est à dire au lieu de piper faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -v '^[#$] /etc/inittab | sed -n '1,3p'
    tout en spécifiant à la machine d'oublier la fonction de méta-caractère de '$'?.
    Merci

  2. #2
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    bonjour,
    Tout en spécifiant à la machine d'oublier la fonction de méta-caractère de '$'?.
    Je ne vois pas trop ce que tu veux dire par là ?

    grep -v '^[#]
    Permet de récupérer toutes les lignes ne commençant pas par '#'

    grep -v '^$'
    Permet de récupérer les lignes non-vide

  3. #3
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    On peut utiliser sed ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '/^#\|^$/d' /etc/inittab | head -n 3
    D'ailleurs, si quelqu'un sait comment se passer de la deuxième invocation (ici head), je suis prenneur... (ie tout faire dans le premier sed, sans pipe...)
    J'imagine qu'avec une combinaison astucieuse de 'x' et 'h', ce doit être faisable, mais je n'ai pas trouvé...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Je ne vois pas trop ce que tu veux dire par là ?
    En fait ce que je veux dire c'est qu'en exécutant cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -v '^[#$]' /etc/inittab | sed -n '1,3p'
    ces seulement les lignes qui commencent par # qui s'affichent alors que je veux les deux en même temps avec la même commande tu vois un peu? .
    sinon Pouic ta commande est cool, mais je penses pas si on peux faire la même chose avec grep ?!!! .
    En tout cas merci ! ! !

  5. #5
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -v -m 3 '^#\|^$' /etc/inittab


    grep et sed, c'est bon, mangez-en !

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Merci Pouic pour la commande,c'est excatement ce que je voulais.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 17/01/2010, 14h10
  2. [shell] commande grep
    Par scolopendra dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 01/10/2008, 15h39
  3. Aide sur la commande GREP
    Par roadruner dans le forum Linux
    Réponses: 6
    Dernier message: 30/07/2007, 19h43
  4. utiliser commande grep
    Par salim81 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 01/07/2007, 21h52
  5. Le temps que la commande "grep" en shell prend
    Par Pauli dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 25/12/2006, 19h59

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