首页 > 代码库 > 总结linux下printf命令的用法

总结linux下printf命令的用法

printf  -- format and print date 通过printf的选项格式化输出数据


参考: http://www.computerhope.com/unix/uprintf.htm


基本英文学习


二进制:binanry number

八进制:otcal number

十进制:decimal number

十六进制: hexadecimal number

1 基本的打印输出(默认不换行\n换行)

[root@cuizhiliang gold]# printf "hello,world"

hello,world[root@cuizhiliang gold]# 

[root@cuizhiliang gold]#printf "hello,world\n"

hello,world


2 进制的转换

%x 十六进制

%d 十进制

%o 八进制


十进制转16进制

[root@cuizhiliang gold]# printf "%x\n" 27 

1b


16进制转十进制

[root@cuizhiliang gold]# printf "%d\n" 0x1b

27


(注意 转换进制可以使用bc命令 如装换成为2进制) ibase输入的进制;obase输出的进制) 

10进制转为2进制

[root@cuizhiliang gold]# echo ‘obase=2;10‘|bc

1010

带变量的处理常用在shell脚本中

[root@cuizhiliang tmp]# a=10

[root@cuizhiliang tmp]# echo "obase=2;$a" |bc

1010

2进制转换10进制

[root@cuizhiliang gold]# echo ‘ibase=2;111‘|bc

7




综合的高级用法:

[root@cuizhiliang tmp]# cat file.txt 
100
200
300
[root@cuizhiliang tmp]# awk ‘{print "ibase=10;obase=2;" $1}‘ file.txt  |bc |xargs printf "%08d\n"
01100100
11001000
100101100



3格式化输出对齐(中文和英文混合效果不明显)

语法:   %flags width.precision format-specifier

- 是flag 左对齐 默认右对齐

12是width表示字符占用的长度  长度多余补空格,长度不够字符串照样显示。

.precision 表示浮点数的小数位



技术分享






本文出自 “燕子李三” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1890139

总结linux下printf命令的用法