logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 26-10-2019 09:22:19

Anonyme
Invité

[Résolu]Convertir une suite Hexadecimal en décimal

Bonjour,

j'aimerai convertir un résultat de plusieurs nombre hexadécimal en décimal.

Résultat obtenu par la commande :

CONVERT=$(lsdvd -a /dev/sr0 -t 01 2> /dev/null | grep "Audio:" | grep -E "mpeg1,|ac3,|dts," | awk '{print$21}')



echo $CONVERT



0x80 0x81 0x8a



Le résultat espéré serait:

128 129 138



Pour un hexa, je sais faire par echo $((0x80)) ===> 128 mais plusieurs, je planche.

Merci par avance.

Dernière modification par Anonyme (26-10-2019 12:55:56)

#2 26-10-2019 09:59:47

Anonyme
Invité

Re : [Résolu]Convertir une suite Hexadecimal en décimal

Je viens de trouvé un truc qui me donne le résultat voulu mais est-ce qu'il ya plus simple ?

HEX=$(lsdvd -a /dev/sr0 -t 01 2> /dev/null | grep "Audio:" | grep -E "mpeg1,|ac3,|dts," | awk '{print$21}' | printf '%d\n' $HEX)



echo $HEX



128 129 138

#3 26-10-2019 10:07:33

Anonyme
Invité

Re : [Résolu]Convertir une suite Hexadecimal en décimal

En fait, non, ça ne fonctionne pas bien hmm

#4 26-10-2019 11:52:28

David5647
Membre
Distrib. : Debian Sid
Noyau : 5.15.0-2-amd64
(G)UI : i3wm + des bouts de kde
Inscription : 27-08-2017

Re : [Résolu]Convertir une suite Hexadecimal en décimal

  #!/bin/bash                                                                    
  for var in "$@"
  do
     arr+=$(printf "%d\n" $var)
  done
  echo $arr
 



 ./test.sh 0x0f 0xff 0x65 0x00


15 255 101 0



Je ne suis pas sûr de ce que tu demandes... big_smile

avec un pipe :

echo "0xff 0x12 0x00" > values


cat values | xargs -I {} ./test.sh {}


255 18 0

Dernière modification par David5647 (26-10-2019 12:10:29)

Hors ligne

#5 26-10-2019 12:50:35

Anonyme
Invité

Re : [Résolu]Convertir une suite Hexadecimal en décimal

Bonjour,

Merci pour ton aide smile

C'est bien ça.

Transformer le résultat de cette commande :

HEXA=$(lsdvd -a /dev/sr0 -t 01 2> /dev/null | grep "Audio:" | grep -E "mpeg1,|ac3,|dts," | awk '{print$21}')



Son echo me donne :

0x80 0x81 0x82 0x83 0x84 0x85 0x86



J'ai trouvé par:

DECIMAL=$(echo $HEXA | printf '%d\n' $HEXA)



qui me renvoie :

128 129 130 131 132 133 134



Merci encore. smile

Dernière modification par Anonyme (26-10-2019 12:55:34)

Pied de page des forums