首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在UNIX shell脚本中将十进制转换为十六进制

在UNIX shell脚本中将十进制转换为十六进制
EN

Stack Overflow用户
提问于 2008-12-18 19:00:50
回答 12查看 211.7K关注 0票数 118

在UNIX shell脚本中,我可以使用什么将十进制数字转换为十六进制?我以为od可以做到这一点,但它没有意识到我正在向它提供数字的ASCII表示。

printf?真恶心!现在使用它,但是还有什么可用的呢?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2008-12-18 21:46:53

代码语言:javascript
运行
复制
echo "obase=16; 34" | bc

如果要过滤整个整数文件,则每行一个:

代码语言:javascript
运行
复制
( echo "obase=16" ; cat file_of_integers ) | bc
票数 116
EN

Stack Overflow用户

发布于 2008-12-18 19:04:03

试用过printf(1)

代码语言:javascript
运行
复制
printf "%x\n" 34
22

可能有在所有shell中使用内置函数来实现这一点的方法,但它的可移植性较差。我还没有检查POSIX sh规范,看看它是否具有这样的功能。

票数 202
EN

Stack Overflow用户

发布于 2009-12-16 00:11:10

从十六进制到十进制的

代码语言:javascript
运行
复制
$ echo $((0xfee10000))
4276158464

从十进制到十六进制的

代码语言:javascript
运行
复制
$ printf '%x\n' 26
1a
票数 71
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/378829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档