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 :

Grep : comment récupérer contenu mémoire équivalent PERL \1


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 36
    Par défaut Grep : comment récupérer contenu mémoire équivalent PERL \1
    Bonjour,

    Je suis débutant en scripting.
    Je cherche à récuper une partie du résultat du matching.

    Prenons le contenu suivant:
    Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 127 kb/s
    Je voudrais dire retourne le mot après "Audio: " dans ce cas "aac"
    En PERL on mettrait
    /Audio: (.*),/
    Et on récupère le contenu avec \1

    Pour l'instant mon grep c'est
    grep -o "Audio: ..." test.txt
    Merci de m'aider.

  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,

    Avec une seule commande ce n'est pas possible. Même si les références arrières sont connues de grep, leur emploi diffère de Perl ou de sed.

    Donc je ne vois qu'un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ echo $A
    Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 127 kb/s
     
    $ echo $A | grep -o "Audio:[^,]*" | grep -o '[^ ]*$'
    aac
     
    $

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 662
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 662
    Par défaut
    Bonjour,

    sur du bash ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    st="Stream #0.0(und): Audio: aac, 44100 Hz, stereo, s16, 127 kb/s"
    match=".*: ([^,]*)"
    [[ $st =~ $match ]] && echo ${BASH_REMATCH[1]} || echo echec
    aac
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/01/2012, 19h37
  2. Comment récupérer contenu page html sans file_get_contents
    Par patriciaprovence dans le forum Langage
    Réponses: 7
    Dernier message: 04/02/2010, 14h42
  3. Comment récupérer le contenu de plusieurs fichiers textes ?
    Par calimero2611 dans le forum Langage
    Réponses: 9
    Dernier message: 19/02/2006, 15h45
  4. [SQL] comment récupérer le contenu de cases à cocher
    Par Viau dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 31/01/2006, 14h56
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 16h36

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