Comment faire des calculs sur les nombres hexadécimaux avec awk?

J'ai un fichier contenant une liste de nombres hexadécimaux, comme 0x12345678 un par ligne.

Je veux faire un calcul sur eux. Pour cela, j'ai pensé à utiliser awk. Mais si l'impression d'un nombre hexadécimal, awk est facile avec la printf fonction, je n'ai pas trouver une façon d'interpréter le code hexadécimal d'entrée autres que sous forme de texte ou 0, la conversion d'un nombre entier s'arrête sur le x).

awk '{ print $1; }'                     //0x12345678
awk '{ printf("%x\n", $1)}'             //0
awk '{ printf("%x\n", $1+1)}'           //1                 //DarkDust answer
awk '{ printf("%s: %x\n", $1, $1)}'     //0x12345678: 0

Est-il possible d'imprimer, par exemple, la valeur +1?

awk '{ printf(%x\n", ??????)}'          //0x12345679

Modifier: revêtements Un sur les autres langues se félicite! (si une longueur raisonnable 😉 )

OriginalL'auteur Didier Trosset | 2010-09-10