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 :

Extraction de chaine dans un fichier


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut Extraction de chaine dans un fichier
    Bonjour,

    Je souhaite, en ligne de commande Shell :
    - extraire du fichier tous les mots se terminant par '.exe'
    et tous les mots sont compris entre '>' et '<'

    Merci pour votre aide
    bye

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Citation Envoyé par Sakapatate
    Bonjour,

    Je souhaite, en ligne de commande Shell :
    - extraire du fichier tous les mots se terminant par '.exe'
    et tous les mots sont compris entre '>' et '<'

    Merci pour votre aide
    bye

    Pas garanti vu que tu ne donnes pas d'exemple du contenu du fichier à analyser

    sed -n -e "/\.exe$/p" -e "/>[^<]*</s/>\([^<]*\)</\1/gp"

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    hello,

    En effet, j'ai pas mis bcp d'info.
    Voici un exemple de chaine de caractère :
    "version >2-1.exe< du 13/02"
    et moi je veux extraire la chaine : 2-1.exe

    Merci pour ton aide...
    bye

  4. #4
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Citation Envoyé par Sakapatate
    hello,

    En effet, j'ai pas mis bcp d'info.
    Voici un exemple de chaine de caractère :
    "version >2-1.exe< du 13/02"
    et moi je veux extraire la chaine : 2-1.exe

    Merci pour ton aide...
    bye

    Pour cet exemple, ça marche

    • Une brève introduction aux expressions rationnelles



    echo "version >2-1.exe< du 13/02" | sed -n "s/^.*>\([^<]*\.exe\)<.*$/\1/p"
    2-1.exe

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    Merci bcp...
    Avec en plus l'aide sur les RE c'est cool.

    Merci
    Bye

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 77
    Par défaut
    Bonjour,
    Je pose ma question dans ce topic car il me semble qu'elle y ressemble beaucoup :

    J'arrive à obtenir la liste des fichiers nommés 'url' contenant le texte 'prdownloads.sourceforge.net' dans le répertoire package avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $ find packages/ -iname url | xargs grep prdownloads.sourceforge.net
    packages/strace/url:http://prdownloads.sourceforge.net/strace/strace-4.5.14.tar.bz2
    packages/scummvm/url:http://prdownloads.sourceforge.net/scummvm/scummvm-0.9.1.tar.bz2
    packages/pylirc/url:http://prdownloads.sourceforge.net/pylirc/pylirc-0.0.5.tar.gz
    packages/fuse/url:http://prdownloads.sourceforge.net/fuse/fuse-2.5.3.tar.gz
    packages/zsnes/url:http://prdownloads.sourceforge.net/zsnes/zsnes150src.tar.bz2
    packages/libungif/url:http://prdownloads.sourceforge.net/libungif/libungif-4.1.4.tar.bz2
    packages/lirc/url:http://prdownloads.sourceforge.net/lirc/lirc-0.8.1.tar.bz2
    packages/PyXML/url:http://prdownloads.sourceforge.net/pyxml/PyXML-0.8.4.tar.gz
    packages/imlib2/url:http://prdownloads.sourceforge.net/enlightenment/imlib2-1.3.0.tar.gz
    packages/libupnp/url:http://prdownloads.sourceforge.net/pupnp/libupnp-1.4.1.tar.gz
    packages/freetype/url:http://prdownloads.sourceforge.net/freetype/freetype-2.1.10.tar.bz2
    packages/sysfsutils/url:http://prdownloads.sourceforge.net/linux-diag/sysfsutils-2.0.0.tar.gz
    packages/libexif/url:http://prdownloads.sourceforge.net/libexif/libexif-0.5.12.tar.gz
    Mais j'aimerais dans chaque fichier remplacer 'prdownloads.sourceforge.net' par 'superb-west.dl.sourceforge.net/sourceforge'.
    Je suppose que c'est la commande sed qu'il faudrait utiliser mais je ne sais pas comment ...

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

Discussions similaires

  1. [WD14] Extraction de chaine dans un fichier texte
    Par LuckyLuke56 dans le forum WinDev
    Réponses: 3
    Dernier message: 07/10/2011, 09h25
  2. enregistrer une liste chainée dans un fichier?
    Par ALF-Teams dans le forum C
    Réponses: 7
    Dernier message: 08/03/2006, 18h42
  3. Extraction de donnés dans un fichier XML
    Par ANISSS dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 27/01/2006, 13h16
  4. Réponses: 21
    Dernier message: 29/09/2005, 19h33
  5. [Stratégie]Sauvegarde d'une liste chainée dans un fichier
    Par BernardT dans le forum Général Java
    Réponses: 17
    Dernier message: 25/07/2005, 17h04

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