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 :

Ajouter des caractères au début d'une variable


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut Ajouter des caractères au début d'une variable
    Bonjour,

    Comme je ne savais pas trop dans quelle catégorie porter ce problème, je l'ai mis ici. Mon problème concerne le bash sur linux. Je voudrais savoir comment je pourrais ajouter un certain nombre de chiffres au début d'une variable. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (( nombreCaracteres=$(echo $premierNombreB | wc -c) -1 !=8))
              then for ((i=0 ; i<$nombreCaracteres ; i++))
              do (ajouter les caractères ici à premierNombreB)
              done
    fi
    Si premierNombreB vaut 1000110, je voudrais faire en sorte qu'un 0 soit ajouté au début du nombre, de façon à donner 01000110 et à avoir 8 bits au lieu de 7.

    Et si je veux ajouter des chiffres à la fin, procéderait-on de la même façon?

    Merci d'avance

  2. #2
    Expert éminent

    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
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Un début de piste...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ A=1000110
     
    $ echo ${A}
    1000110
     
    $ echo ${#A}
    7
     
    $ printf '%.8d\n' "${A}"
    01000110
     
    $

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut
    Merci, c'est exactement ce que je cherchais Mais j'ai encore un petit soucis : comment je fais si je veut remplacer le 8 dans '%.8d\n' par une variable?

  4. #4
    Expert éminent

    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
    Points : 6 276
    Points
    6 276
    Par défaut
    Re-

    Tu l'exclues des quotes simples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf '%.'${var}'d\n' "${A}"

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 585
    Points : 19 465
    Points
    19 465
    Par défaut
    Bonjour,

    les apostrophes ne sont pas indispensables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var=8
    printf %.${var}d\\n 1010
    00001010
    il faut juste penser à protéger le caractère d'échappement, les espaces et les méta-caractères.

    on peut aussi mettre le format dans une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    format="%.${var}\n"
    printf "$format" 1010
    00001010

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut
    Merci à vous 2 pour votre aide

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

Discussions similaires

  1. Ajouter des caractères à une chaine
    Par bestcasaoui dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2012, 13h52
  2. Ajouter des caractères à une cellule
    Par DarkGriffin dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/06/2009, 15h43
  3. Réponses: 2
    Dernier message: 03/10/2008, 13h50
  4. Ajouter des caractéres dans une textbox
    Par l3xki dans le forum Windows Forms
    Réponses: 5
    Dernier message: 22/02/2008, 14h18
  5. [Débutant][JSP] Ajout des caractères à une String...
    Par Henkyl dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 04/03/2004, 16h30

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