Formater un nombre en base 16 avec des 0 shel

Résolu
eko -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais formater en shell Unix, un chiffre en base 16 de façon qu'il ait toujours 8 positions numériques. par exemple a0 devient 000000a0, b0 devient 000000b0, etc...

Bien sûr, je peux le faire avec un peu de programmation, mais est-il possible de la faire avec une commande simple ?

Merci
Configuration: Windows XP
Firefox 3.0.8

4 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    printf "%08x" val
    0
    1. eko
       
      Le probleme c'est que avec ta commande , je dois mettre un decimal comme valeur moi je voudrais mettre un nombre en base 10

      par exemple :
      commande a0 donnerai 000000a0
      0
      1. eko > eko
         
        c'est bon en fait ta reponse me va merci beaucoup
        0
      2. eko > eko
         
        ta réponse me sert pour une partie de mon exercice mais j'aurais besoin quand meme de formater un a en 0a
        désolé de t'embeter
        0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    tu préfixes ta valeur avec 0x
    $ printf "%08x" 0xa0
    000000a0
    $ printf "%02x" 0xa
    0a
    0
    1. eko
       
      merci beaucoup
      0
    2. eko
       
      est ce que tu pourais me donner les arguments de printf pour afficher un caractere a partir de l'hexadecimal
      merci
      0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    le format utilisé par le printf du shell est le format utilisé par le printf du C, man -s 3 printf pour avoir tous les formats, man printf pour avoir la commande shell
    0
    1. eko
       
      j'ai essayé un printf "%c" ValeurEnHexa
      mais ca n'a pas marcher , il m'affiche tout le temps 0
      0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    %c c'est pour afficher 1 caractère
    %x pour afficher de l'hexa
    %s pour afficher une chaine de caractères
    %d pour afficher un nombre décimal
    etc
    0