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 :

Extraire nombre d'une chaîne


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 258
    Par défaut Extraire nombre d'une chaîne
    Bonjour à tous,

    J'ai crée la liste de toutes mes applications iPhone grâce à un 'ls -l' tout simple.
    J'ai besoin de récupérer pour chaque nom, le nombre (qui correspond à la version) en fin de chaîne (le nom peut aussi contenir des chiffres).
    La difficulté vient du fait qu'on ne connait ni la longueur du nom, ni le nombre d'espaces...

    Bref, pour que ça soit plus parlant, voilà un morceau de la liste que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    20minutes.fr 3.0.5.ipa
    CongésFêtes 2.3.1.ipa
    Cube3.0.ipa
    Decibels1.0.ipa
    Discover Pro1.2.0.ipa
    ezShare 1.1.ipa
    Et ce que j'aimerai avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    3.0.5
    2.3.1
    3.0
    1.0
    1.2.0
    1.1
    Si toutefois c'est possible, merci d'avance.

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    A priori, il faut que tu cherches la chaine qui se compose uniquement de chiffres, de points, et qui finit par .ipa

    En regexp, un truc du genre : Ce qui se lit :
    . : n'importe quel caractere
    + : repete au moins une fois (donc pas la chaine vide)
    [0-9]{1} : suivi d'un chiffre
    [0-9.]+ : lui-meme suivi d'une suite de chiffre ou de points
    ipa : suivi de la chaine ipa


    En mettant le tout dans awk ou dans sed, tu devrais avoir ton bonheur.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2010
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 258
    Par défaut
    Merci pour ta réponse,
    En utilisant ta commande, résultat vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    > echo "Metronome\ 1.1.ipa" | sed -n '/.*[0-9]{1}[0-9.]+ipa/p'
    >
    Je ne dois pas bien faire

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Salut,

    La regexp est bonne, mais elle recupere l'ensemble de la chaine (essaye avec egrep par exemple).

    Il faut adapter la regexp pour ne garder que la partie de la chaine qui t'interesse, mais je ne maitrise pas assez sed ou cut ou awk pour ca.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. Extraire nombres d'une chaîne de caractères séparés par des "/"
    Par olive1007 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2014, 16h53
  2. [AIX] Extraire un nombre d'une chaîne de caractères
    Par Tohade dans le forum Shell et commandes POSIX
    Réponses: 5
    Dernier message: 23/04/2013, 08h23
  3. [Requête] SQL(ACCESS) extraire nombre d'une chaîne
    Par BORDEAUX4 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/03/2007, 16h45
  4. [MySQL] Récupérer un nombre dans une chaîne
    Par Phenol dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/03/2007, 21h28
  5. Réponses: 4
    Dernier message: 09/11/2006, 00h32

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