linux下命令行进行进制转化

很是头疼各种进制间的转化,linux下利用sed工具,printf等轻松搞定!

#16进制转ASCII 后面还反转解密了(可能会用到类似的东西,先写进去)

$echo "hexdata" | sed 's/\(..\)/\\\\x\1/g' | xargs echo -e |rev|base64 -d

example:

$echo "61" | sed 's/\(..\)/\\\\x\1/g' | xargs echo -e

稍微解释一下:s/re/str/g 表示整行将匹配到的转换为str,()表示和\1连用可以保存数据,和python中re模块里的语法类似。echo -e选项会起到转义作用,\x就会理解为16进制啦。

#10进制转16进制

$echo 'ibase=10;obase=16;255'|bc

$printf %x\\n  255

等我有空再把其他都写进来

Published 11 July 2015