victorinox: awk - hex zu dezimal

Hallo,

ist es (einfach) möglich in awk oder nawk (nicht gawk) eine Umwandlung von einer Hex-Zahl in eine Dezimal-Zahl zu machen? Gibt es dort z.B. die Möglichkleit mit printf wie in der Shell oder Perl? Ich bekomme es leider nicht hin.

Danke für Tipps.

ciao,
victorinox

  1. Hallo victorinox.

    ist es (einfach) möglich in awk oder nawk (nicht gawk) eine Umwandlung von einer Hex-Zahl in eine Dezimal-Zahl zu machen? Gibt es dort z.B. die Möglichkleit mit printf wie in der Shell oder Perl? Ich bekomme es leider nicht hin.

    Möglich ist folgendes:

    $ echo 0x2a | awk '{printf("%d\n", strtonum($1))}'
    42

    Einen schönen Mittwoch noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
    1. Hallo victorinox.

      ist es (einfach) möglich in awk oder nawk (nicht gawk) eine Umwandlung von einer Hex-Zahl in eine Dezimal-Zahl zu machen? Gibt es dort z.B. die Möglichkleit mit printf wie in der Shell oder Perl? Ich bekomme es leider nicht hin.

      Möglich ist folgendes:

      $ echo 0x2a | awk '{printf("%d\n", strtonum($1))}'
      42

      Einen schönen Mittwoch noch.

      Gruß, Mathias

      Hi,

      bei mir kommt da raus:

      echo 0x2a | awk '{printf("%d\n", strtonum($1))}'

      0

      oder

      echo 0x2a | nawk '{printf("%d\n", strtonum($1))}'

      nawk: calling undefined function strtonum
       input record number 1
       source line number 1

      ciao,
      victorinox

    2. Hallo Mathias,

      ist es (einfach) möglich in awk oder nawk (nicht gawk)

      $ echo 0x2a | awk '{printf("%d\n", strtonum($1))}'

      bitte überprüfe zuerst, auf was

      awk

      bei Dir wirklich zeigt. Bei einem typischen Linux [1] ist das gawk :-)

      Freundliche Grüße

      Vinzenz

      [1] ganz bewußt "Linux"!

      1. Hallo Vinzenz.

        ist es (einfach) möglich in awk oder nawk (nicht gawk)

        $ echo 0x2a | awk '{printf("%d\n", strtonum($1))}'

        bitte überprüfe zuerst, auf was

        awk

        bei Dir wirklich zeigt. Bei einem typischen Linux [1] ist das gawk :-)

        Hm, du hast Recht, hier ist das GNU awk am Werke.

        Wenn es nicht unbedingt awk sein muss, tut es auch das Shell-eigene printf:

        $ printf "%d\n" 0x2a
        42

        Einen schönen Mittwoch noch.

        Gruß, Mathias

        --
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules