Conversion en base 16 sous Shell

Résolu
Bonjour,

Bonjour,

j'ai plusieurs fichiers contenants les infos ci-dessous

$cat file1

IC1_IP_BACKHAUL_PARAM ----------------------------------------------
- Next Hop IP Address :0xAC178821

j'aimerais obtenir le file1 comme l'exemple ci-dessous après conversion de l adresse hexa en decimale

IC1_IP_BACKHAUL_PARAM ----------------------------------------------
- Next Hop IP Address :172.23.136.33

Merci pour votre aide

cdlt

2 réponses

  1. Modérateur
    Un
    johand@osiris: ~ $ IP=AC178821 
    johand@osiris: ~ $ printf "%d:%d:%d:%d\n"  0x${IP:0:2}  0x${IP:2:2} 0x${IP:4:2} 0x${IP:6:2}
    172:23:136:33
     

    devrait faire l'affaire.
    A toi d'effectuer une boucle read sur le fichier, etc...
    1. Contributeur
      Salut,

      À noter que :
      $ echo $((16#${IP:0:2})).$((16#${IP:2:2})).$((16#${IP:4:2})).$((16#${IP:6:2}))
      172.23.136.33
      Le fait aussi ;-))
  2. Bonsoir Jisisv et zipe31

    Merci beaucoup a vous pour vos réponses.

    Merci Encore

    Cdlt