strtonum в OS X, не найден - PullRequest
       25

strtonum в OS X, не найден

1 голос
/ 20 ноября 2011
cmp -l "$1" "$2/$1" | awk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}'

Я использую команду выше, чтобы показать двоичные различия в Ubuntu от сценария оболочки. Тем не менее, это не работает в OS X Lion, утверждая, что strtonum не найден. Любая идея, как это сделать в OS X или заменить его чем-то похожим / легкий?

Ответы [ 2 ]

2 голосов
/ 20 ноября 2011

Либо MacPorts , либо Homebrew можно использовать для установки GNU-версии awk, которая включает strtonum.Чтобы избежать конфликтов с системой awk, они устанавливают версию GNU как gawk.

Например, с установленными базовыми MacPorts файлами:

sudo port install gawk
0 голосов
/ 06 января 2019

Как уже было сказано, на mac / BSD awk нет strtonum, но если вам нужно преобразовать hex в dec, есть обходной путь:

echo 0xff | awk '{print $1+0}'

Так что просто добавьте 0 к шестнадцатеричному значению и по умолчанию awk преобразует его в десятичное значение.

...