bash 怎么把10进制数转为16进制?

我的目的是,先把一个十进制数转为16进制,再把这个16进制数转为md5sum加密:

1644982734 -> 620c71ce -> 70276e9a128288a0e02c5ccc2ed24e2e

我可使用如下命令生成16进制数:

printf %x 1644982734

但是我想用管道符实现,

echo  1644982734 | printf %x | md5sum

但是结果不是我想象的那样。
如何才能通过管道符,将一个十进制数->16进制->md5加密?

阅读 3.3k
2 个回答

加上 xargs

echo  1644982734 | xargs printf %x | md5sum

下面两个都可以

echo 1644982734 | xargs printf %x | md5sum
printf %x 1644982734 | md5sum
推荐问题