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

Unix Discussion :

Fonction shell pour du padding ?


Sujet :

Unix

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 46
    Points
    46
    Par défaut Fonction shell pour du padding ?
    Bonjour,

    Je voudrais avoir un renseignement pour savoir s'il était possible via une fonction de faire un padding sur une variable pour qu'il me donne à partir d'une valeur me pad le champ avec une longueur donné et des zero a gauche.

    Exemple :

    Je rentre en paramètre de ma fonction la valeur :
    FA
    En sortie de ma fonction, je veux une longueur de 4 pour mon champ avec des zero a gauche :
    00FA

    Voila, pour l'instant j'ai ce code, mais je voudrais trouvé plus performant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SIZE=`expr length ${maVariable}`
    until [ "$SIZE" -eq "4" ]
    do
    	maVariable="0${maVariable}"
    	SIZE=`expr length ${maVariable}`
    done
    merci a vous...
    gud

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maVariable=$(printf "%04d" $maVariable)
    ɹǝsn *sıɹɐlos*

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 46
    Points
    46
    Par défaut
    Salut,
    Je te remercie pour ta réponse , j'aurais pas pensé que l'on puisse faire des printf sous Unix (mis a part dans la commande awk).

    @ la prochaine

    gud,

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Je viens juste de remarquer que ta variable n'est pas en décimal mais en hexa.

    Ma réponse est dans ce cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maVariable=$(printf "%04x" 0x$maVariable)
    ɹǝsn *sıɹɐlos*

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

Discussions similaires

  1. fonction shell pour un prog fortran
    Par d.jphilippe dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/08/2008, 09h59
  2. [winsock.h] Fonction recv() pour un socket en C
    Par Hikaru dans le forum Windows
    Réponses: 5
    Dernier message: 22/05/2004, 07h43
  3. Des fonctions OGL pour les images de format usuel ?
    Par jamal24 dans le forum OpenGL
    Réponses: 3
    Dernier message: 31/05/2003, 21h59
  4. Fonction/méthode pour obtenir l'IP de la machine
    Par sirex007 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 10/04/2003, 14h36
  5. Réponses: 3
    Dernier message: 02/09/2002, 18h49

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