【Linux】一步一步学Linux——printf命令(204)
00. 目录
文章目录
- 00. 目录
- 01. 命令概述
- 02. 命令格式
- 03. 常用选项
- 04. 参考示例
- 05. 附录
01. 命令概述
printf命令格式化并输出结果到标准输出。
printf 命令模仿 C 程序库(library)里的 printf() 程序。
printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n。
02. 命令格式
printf FORMAT [ARGUMENT]...
printf OPTION
03. 常用选项
--help 显示 帮助信息, 然后 结束
--version显示 版本信息, 然后 结束
格式替代符
- %b 相对应的参数被视为含有要被处理的转义序列之字符串。
- %c ASCII字符。显示相对应参数的第一个字符
- %d, %i 十进制整数
- %e, %E, %f 浮点格式
- %g %e或%f转换,看哪一个较短,则删除结尾的零
- %G %E或%f转换,看哪一个较短,则删除结尾的零
- %o 不带正负号的八进制值
- %s 字符串
- %u 不带正负号的十进制值
- %x 不带正负号的十六进制值,使用a至f表示10至15
- %X 不带正负号的十六进制值,使用A至F表示10至15
- %% 字面意义的%
转义序列
- \a 警告字符,通常为ASCII的BEL字符
- \b 后退
- \c 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
- \f 换页(formfeed)
- \n 换行
- \r 回车(Carriage return)
- \t 水平制表符
- \v 垂直制表符
- \ 一个字面上的反斜杠字符
- \ddd 表示1到3位数八进制值的字符,仅在格式字符串中有效
- \0ddd 表示1到3位的八进制值字符
04. 参考示例
4.1 输出字符串
[deng@localhost ~]$ printf "hello itcast\n"
hello itcast
[deng@localhost ~]$
4.2 输出字符串不换行
[deng@localhost ~]$ printf "hello world"
hello world[deng@localhost ~]$
4.3 格式控制输出
[deng@localhost ~]$ cat test.sh
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876
[deng@localhost ~]$ ./test.sh
姓名 性别 体重kg
郭靖 男 66.12
杨过 男 48.65
郭芙 女 47.99
[deng@localhost ~]$
%s %c %d %f都是格式替代符
%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
%-4.2f 指格式化为小数,其中.2指保留2位小数。
4.4 格式控制输出
[deng@localhost ~]$ printf "%d %s\n" 1 "hello world"
1 hello world
[deng@localhost ~]$
4.5 格式控制字符串为单引号
[deng@localhost ~]$ printf '%d %s\n' 1 "hello world"
1 hello world
[deng@localhost ~]$
4.6 格式控制输出字符串没有引号
[deng@localhost ~]$ printf "%s\n" helloworld
helloworld
[deng@localhost ~]$ printf %s helloworld
helloworld[deng@localhost ~]$
4.7 格式控制输出数字
[deng@localhost ~]$ printf "%d %d %d %d\n" 11 22 33 44
11 22 33 44
[deng@localhost ~]$
4.8 显示字符
[deng@localhost ~]$ printf "%c %c\n" 1 89
1 8
[deng@localhost ~]$
4.9 输出百分比
[deng@localhost ~]$ printf "%d%%\n" 80
80%
[deng@localhost ~]$
05. 附录
参考:【Linux】一步一步学Linux系列教程汇总
【Linux】一步一步学Linux——printf命令(204)相关推荐
- 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么
Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...
- LINUX学习之路(学LINUX必看)
很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...
- linux学习需要什么基础,学linux需要什么基础?
近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...
- 分享--linux 学习之路(学linux必看)
很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...
- 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久
随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...
- 不会linux的php难找工作,学linux系统难吗
这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...
- linux lamp实验报告,新手学Linux--构建lamp
本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...
- Linux其实没那么难学
互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...
- 大学生为什么要学Linux?Linux有什么优点?
前言 Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到 ...
最新文章
- 用Python和项目进行机器学习(初学者) Machine Learning A-Z with Python with Project (Beginner)
- 数据库优化实例以及优化的小技巧
- Balder 3D开发系列之--创建天空盒
- 怎样用hibernate验证登陆界面的用户名和密码
- Go goroutine
- linux ls mv,04_Linux目录文件操作命令1(mv ls cd...)_我的Linux之路
- UVA - 1643 Angle and Squares (角度和正方形)(几何)
- boost::asio 笔记
- WIFI状态下SecoClient链接故障
- linux之压缩文件,查看压缩文件,解压文件的操作命令
- Java之美[从蛮荒到撬动地球]之设计模式四
- 做项目管理需要哪些技能?
- SERVICE_UNAVAILABLE/1/state not recovered / initialized
- uniapp子组件路由跳转老是失败
- win10开启快速启动,关机时电源键一直亮着无法正常关机。。。
- 如何让网站在浏览器网址前面显示小图标?ico图标怎么放?
- 老男孩教育春节假期安排
- CoordConv:给卷积加上坐标,从而使其具备了空间感知能力【附Pytorch实现】
- 2021-2027全球与中国健身俱乐部和健身房管理软件市场现状及未来发展趋势
- abbplc型号_ABB PLC选型手册.pdf
热门文章
- asp.net中的窗体身份验证(最简单篇)
- DPI释疑--What is mean of Dpi?
- 启动指定参数_SpringBoot的三种启动方式
- dubbo调用失败策略_面试官:dubbo负载均衡策略,集群容错策略,动态代理策略有哪些...
- 单片机定时器实验两位倒计时秒表_单片机学习「1」 初始51单片机
- python中transpose函数_对numpy中的transpose和swapaxes函数详解
- Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几
- react——一个todolist的demo
- Ubuntu mysql连接错误10060/10061的方法
- 关于js优化和css优化