Forum Linux.général aide script awk

Posté par  .
Étiquettes : aucune
0
24
oct.
2008
bonjour,

aujourd hui je regrette de ne pas connaitre awk.

j'ai des ip de 10.3.3.1 à 10.3.3.30,
je cherche a transformer l ip en chaine de caractere :
10.3.3.1 -> 3301
10.3.3.2 -> 3302
10.3.3.10 -> 3310
10.3.3.22 -> 3322
etc ...

vous avez peut etre une idee
merci
  • # voila

    Posté par  . Évalué à 7.

    echo 10.3.3.22 | awk -F. '{printf("%d%d%02d\n", $2,$3,$4)}'

    En gros : separer l'ip en fonction des ".", ignorer le premier numero (le 10), et utiliser printf, avec les options habituelles.
    • [^] # Re: voila

      Posté par  . Évalué à 2.

      je rajouterais meme qu'il serait mieux de convertir
      10.3.3.1 en 003003001
      et
      10.3.3.10 en 003003010

      car
      10.3.3.123 devrait devenir 003003123

      sinon je ne vois pas pourquoi le dernier chiffre devrait etre mis sur 2 caracteres avec zero devant alors que les chiffres en 2e et 3e place ne le seraient pas.
      • [^] # Re: voila

        Posté par  . Évalué à 1.

        merci pour vos reponses.
        elles me serviront pour nommer automatiquement les machines d un cluster.
        • [^] # Re: voila

          Posté par  . Évalué à 5.

          elles me serviront pour nommer automatiquement les machines d un cluster.

          ce ne serait pas plus judicieux de regler un dhcp avec un push du hostname

          evidemment il faut ensuite regler le "pull hostname" sur la machine client
          mais au moins, si tu change le nom de la machine sur le dhcp (genre toutes les machines demo-xxx deviennent prod-xxx) ben ca changera sur les clients.

          enfin perso c'est comme ca que je ferais.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.