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

Applications et environnements graphiques Discussion :

extraire une chaine d'une autre chaine


Sujet :

Applications et environnements graphiques

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Points : 77
    Points
    77
    Par défaut extraire une chaine d'une autre chaine
    bonjour,
    je dois traiter un fichier log, donc je dois extraire des URL qui font partie des lignes de mon fichier log!
    je ne trouve pas la commande qui va me permettre d'avoir ces lignes (url)!

    les lignes du fichier log sont du type:
    bla bla bla bla bla bla bla bla [http:\\blablablablabla\blablablabla\encoreblabla\user=99999999]: bla bla bla

    je veux constuire un fichier qui va contenir que les URL :

    http:\\blablablablabla\blablablabla\encoreblabla\user=99999999

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    une methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat fichierlog | cut -d"[" -f2 | cut -d"]" -f1 > /tmp/resultat.txt
    sinon utilises sed

  3. #3
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat fichier  | sed  -e  's/[^\[]*\[\(http[^]]*\)\].*/\1/g'

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -o 'http:\\[^]]*' fichier
    Elles ont une drôle de forme tes url avec les backslashes!

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Points : 77
    Points
    77
    Par défaut
    merci bcp
    je vais analyser les 3 solutions
    si j'aurias des questions je reviendrais.
    merci

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Points : 77
    Points
    77
    Par défaut
    excuse moi ripat mais je ne trouve pas l'option -o ds grep !

    http://bama.ua.edu/cgi-bin/man-cgi?grep+1
    qu'est ce que ca fait ??
    merci

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Cette option ne retourne vers stdout que les match du motif. Pas la ligne complète.

    Apparemment l'option ne semble disponible que dans la version GNU de grep.
    http://www.gnu.org/software/grep/doc/grep_2.html#SEC2

    Il te reste la solution sed de becket.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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