标签: 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中使用它或用类似的东西代替它吗?
答案 0 :(得分:2)
可以使用MacPorts或Homebrew来安装awk的GNU版本,其中包含strtonum。为避免与系统awk冲突,他们将GNU版本安装为gawk。
awk
strtonum
gawk
例如,安装了基本MacPorts文件:
MacPorts
sudo port install gawk
答案 1 :(得分:0)
如前所述,在Mac / BSD strtonum上没有awk,但是如果您需要将hex转换为dec,则有一种解决方法:
hex
dec
echo 0xff | awk '{print $1+0}'
因此,只需将0添加到十六进制值,默认情况下,awk会将其转换为十进制值。
0