OS X中的strtonum,未找到

时间:2011-11-20 06:41:38

标签: shell awk osx-lion

cmp -l "$1" "$2/$1" | awk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}'

我正在使用上面的命令来显示来自shell脚本的Ubuntu中的二进制差异。但是,这在OS X Lion中不起作用,声称没有找到strtonum。知道如何在OS X中使用它或用类似的东西代替它吗?

2 个答案:

答案 0 :(得分:2)

可以使用MacPortsHomebrew来安装awk的GNU版本,其中包含strtonum。为避免与系统awk冲突,他们将GNU版本安装为gawk

例如,安装了基本MacPorts文件:

sudo port install gawk

答案 1 :(得分:0)

如前所述,在Mac / BSD strtonum上没有awk,但是如果您需要将hex转换为dec,则有一种解决方法:

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

因此,只需将0添加到十六进制值,默认情况下,awk会将其转换为十进制值。