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