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)相关推荐

  1. 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么

    Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...

  2. LINUX学习之路(学LINUX必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...

  3. linux学习需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  4. 分享--linux 学习之路(学linux必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  5. 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久

    随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...

  6. 不会linux的php难找工作,学linux系统难吗

    这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...

  7. linux lamp实验报告,新手学Linux--构建lamp

    本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...

  8. Linux其实没那么难学

    互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...

  9. 大学生为什么要学Linux?Linux有什么优点?

    前言 Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到 ...

最新文章

  1. 用Python和项目进行机器学习(初学者) Machine Learning A-Z with Python with Project (Beginner)
  2. 数据库优化实例以及优化的小技巧
  3. Balder 3D开发系列之--创建天空盒
  4. 怎样用hibernate验证登陆界面的用户名和密码
  5. Go goroutine
  6. linux ls mv,04_Linux目录文件操作命令1(mv ls cd...)_我的Linux之路
  7. UVA - 1643 Angle and Squares (角度和正方形)(几何)
  8. boost::asio 笔记
  9. WIFI状态下SecoClient链接故障
  10. linux之压缩文件,查看压缩文件,解压文件的操作命令
  11. Java之美[从蛮荒到撬动地球]之设计模式四
  12. 做项目管理需要哪些技能?
  13. SERVICE_UNAVAILABLE/1/state not recovered / initialized
  14. uniapp子组件路由跳转老是失败
  15. win10开启快速启动,关机时电源键一直亮着无法正常关机。。。
  16. 如何让网站在浏览器网址前面显示小图标?ico图标怎么放?
  17. 老男孩教育春节假期安排
  18. CoordConv:给卷积加上坐标,从而使其具备了空间感知能力【附Pytorch实现】
  19. 2021-2027全球与中国健身俱乐部和健身房管理软件市场现状及未来发展趋势
  20. abbplc型号_ABB PLC选型手册.pdf

热门文章

  1. asp.net中的窗体身份验证(最简单篇)
  2. DPI释疑--What is mean of Dpi?
  3. 启动指定参数_SpringBoot的三种启动方式
  4. dubbo调用失败策略_面试官:dubbo负载均衡策略,集群容错策略,动态代理策略有哪些...
  5. 单片机定时器实验两位倒计时秒表_单片机学习「1」 初始51单片机
  6. python中transpose函数_对numpy中的transpose和swapaxes函数详解
  7. Java黑皮书课后题第3章:**3.21(科学:某天是星期几)泽勒一致性...编写程序,提示用户输入年、月、该月的哪一天,显示它是一周中的星期几
  8. react——一个todolist的demo
  9. Ubuntu mysql连接错误10060/10061的方法
  10. 关于js优化和css优化