printf -- format and print date 通过printf的选项格式化输出数据
基本英文学习
二进制:binanry number
八进制:otcal number
十进制:decimal number
十六进制: hexadecimal number
1、基本的打印输出(默认不换行\n换行)
# printf "hello,world"hello,world#printf "hello,world\n"hello,world
2、进制的转换
%x 十六进制
%d 十进制
%o 八进制
十进制转16进制
# printf "%x\n" 27 1b# printf "%x\n" 19713 查到占用较高CPU的线程号转换为16进制,以便于jstack查看4d01
16进制转十进制
# printf "%d\n" 0x1b27# printf "%d\n" 0x4d0119713
(注意 转换进制可以使用bc命令 如装换成为2进制) ibase输入的进制;obase输出的进制)
10进制转为2进制
# echo 'obase=2;10'|bc1010
带变量的处理常用在shell脚本中
# a=10# echo "obase=2;$a" |bc1010
2进制转换10进制
# echo 'ibase=2;111'|bc7
综合的高级用法:
# cat file.txt 100200300# awk‘{print "ibase=10;obase=2;" $1}‘file.txt |bc |xargs printf "%08d\n"0110010011001000100101100