Formater un nombre en base 16 avec des 0 shel

Résolu/Fermé
eko - 21 avril 2009 à 14:04
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 24 avril 2009 à 07:39
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
A voir également:

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
21 avril 2009 à 14:10
hello
printf "%08x" val
0
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
c'est bon en fait ta reponse me va merci beaucoup
0
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
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
21 avril 2009 à 14:39
tu préfixes ta valeur avec 0x
$ printf "%08x" 0xa0
000000a0
$ printf "%02x" 0xa
0a
0
merci beaucoup
0
est ce que tu pourais me donner les arguments de printf pour afficher un caractere a partir de l'hexadecimal
merci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 avril 2009 à 09:25
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
j'ai essayé un printf "%c" ValeurEnHexa
mais ca n'a pas marcher , il m'affiche tout le temps 0
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
24 avril 2009 à 07:39
%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