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 -
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
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
-
hello
printf "%08x" val -
tu préfixes ta valeur avec 0x
$ printf "%08x" 0xa0
000000a0
$ printf "%02x" 0xa
0a
-
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
-
%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