当前位置:首页 > 操作系统 > Linux

总结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,worldn"

hello,world


2 进制的转换

%x 十六进制

%d 十进制

%o 八进制


十进制转16进制

[root@cuizhiliang gold]# printf "%xn" 27 

1b


16进制转十进制

[root@cuizhiliang gold]# printf "%dn" 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 "%08dn"
01100100
11001000
100101100

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

语法:   %flags width.precision format-specifier

- 是flag 左对齐 默认右对齐

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

.precision 表示浮点数的小数位



技术分享650) this.width=650;" src="/upload/getfiles/default/2022/11/9/20221109020219276.jpg" title="print1.png" />




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

原文:http://cuidehua.blog.51cto.com/5449828/1890139


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!