OS X 中的 strtonum,未找到

发布于 2024-12-17 05:12:25 字数 228 浏览 0 评论 0原文

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

我使用上面的命令来显示 Ubuntu 中与 shell 脚本的二进制差异。然而,这在 OS X lion 中不起作用,声称未找到 strtonum。知道如何在 OS X 中使用它或用类似/轻量级的东西替换它吗?

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

I am using command above to show the binary differences in Ubuntu, from shell script. However, this doesn't work in OS X lion, claiming that strtonum not found. Any idea how to have it in OS X or substitute it with something similar/light?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

神经暖 2024-12-24 05:12:25

MacPortsHomebrew 可用于安装 GNU 版本的 awk,其中包括 strtonum。为了避免与系统 awk 发生冲突,他们将 GNU 版本安装为 gawk

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

sudo port install gawk

Either MacPorts or Homebrew can be used to install the GNU version of awk which includes strtonum. To avoid conflicts with the system awk, they install the GNU version as gawk.

For example, with the base MacPorts files installed:

sudo port install gawk
爱,才寂寞 2024-12-24 05:12:25

据说 mac/BSD 上没有 strtonum awk,但是如果您需要将 hex 转换为 dec > 有一个解决方法:

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

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

As it was said there is no strtonum on mac/BSD awk, but if you need to convert hex to dec there is a workaround:

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

So just add 0 to hex value and by default awk converts it to decimal value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文