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

Linux Discussion :

Shell : Extraction d'une sous chaîne


Sujet :

Linux

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 35
    Points : 22
    Points
    22
    Par défaut Shell : Extraction d'une sous chaîne
    bonjour à tous!

    je possède une chaine de caractère dans une variable :
    82 incr 1242243001 1242243018 132 250543445 98 23892283 43 226654727 3 0 0 0 3 17360687 40663165 1 1 tar 1
    (tous les amoureux de backuppc auront reconnus que cette chaîne provient du fichier "backups")

    j'aimerai extraire le 82(numéro de la sauvegarde) et le mettre dans une variable et aussi le incr (type de la sauvegarde) et le mettre dans une autre variable...
    j'ai "réussi" à faire ça en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    DernierBackup=$(tail -n 1 /home/Sauvegardes/pc/localhost/backups)
    echo ${DernierBackup:0:2}     //${chaine:position:longueur}
    82
    echo ${DernierBackup:3:4}
    incr
    le problème c'est que le 82 risque de passer à 3 chiffres et +... en conséquence le deuxième paramètre ne sera plus bon
    je ne trouve pas le moyen de faire ce que je veut...
    car si le numéro de backup passe à 3 chiffres je n'aurai que les 2 premiers chiffres et le 2ème parramètres ressemblera à ' inc' au lieu de 'incr'.
    si le numéro de backup passe à 4 chiffres je n'aurai que les 2 premiers chiffres et le 2ème parramètres ressemblera à '8 in' au lieu de 'incr'.
    etc... en gros j'aimerai pouvoir gérer la taille d'une sous-chaine...


    Merci à tous ceux qui liront ce post et en espérant que j'ai été clair dans mes explications...
    bonne fin de journée

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 339
    Points : 586
    Points
    586
    Par défaut
    Plop !

    Il existe un super outil : cut

    J'ai appris à manier certains outils pratiques comme celui ci pendant ma licence à l'université de Reims.

    Voici un de ces cours qui traite les flux ici. (Le serveur ne marche pas toujours...)

    J'espère qu'il te sera utile. Bonne continuation !

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 35
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Isythiel Voir le message
    Plop !

    Il existe un super outil : cut

    J'ai appris à manier certains outils pratiques comme celui ci pendant ma licence à l'université de Reims.

    Voici un de ces cours qui traite les flux ici. (Le serveur ne marche pas toujours...)

    J'espère qu'il te sera utile. Bonne continuation !

    ++++++1 pour Isythiel
    yep parfait ça à l'air de fonctionner merci pour ton lien...
    perso j'ai compris la moitié de la commande cut avec chaque lien ce qui fait 100% ^^ enfin en théorie !

    pour ceux que ça intéresse j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NumBackup=$(echo $DernierBackup | cut -d" " -f1)
    TypeBackup=$(echo $DernierBackup | cut -d" " -f2)
    et ca me donne bien le premier champ et le deuxième champ

    MERCi encore @+

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 64XAVIER64 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NumBackup=$(echo $DernierBackup | cut -d" " -f1)
    TypeBackup=$(echo $DernierBackup | cut -d" " -f2)
    et ca me donne bien le premier champ et le deuxième champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set $DernierBackup
    echo $1
    echo $2

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

Discussions similaires

  1. Extraction d'une sous-chaîne avec une regexp
    Par pc.bertineau dans le forum Langage
    Réponses: 3
    Dernier message: 25/05/2010, 16h38
  2. Extraction d'une sous-chaîne
    Par jp.kerloch dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 29/06/2008, 16h56
  3. Problème lors de l'extraction d'une sous-chaîne
    Par keul85 dans le forum Débuter
    Réponses: 4
    Dernier message: 31/01/2008, 20h58
  4. Réponses: 28
    Dernier message: 22/09/2005, 11h57
  5. [String] Récupérer une sous -chaîne sans split
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 19/07/2004, 14h45

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