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" 0x1b
27
# printf "%d\n" 0x4d01
19713
(注意 转换进制可以使用bc命令 如装换成为2进制) ibase输入的进制;obase输出的进制)
10进制转为2进制# echo 'obase=2;10'|bc
1010
带变量的处理常用在shell脚本中# a=10
# echo "obase=2;$a" |bc
1010
2进制转换10进制# echo 'ibase=2;111'|bc
7
综合的高级用法:# cat file.txt
100
200
300
# awk‘{print "ibase=10;obase=2;" $1}‘file.txt |bc |xargs printf "%08d\n"
01100100
11001000
100101100