printf 命令:格式化输出

news2024/9/24 0:20:06

一、命令简介

printf​ 命令在 Linux 系统中用于格式化并打印字符串到标准输出。它是 C 语言中 printf ​函数的命令行版本,因此其格式化选项与 C 语言中的非常相似。

相关命令:

  • echo:通常使用 echo,它比较简单。
  • printf:提供了更多的格式化选项,可以更精确地控制输出的格式。

二、命令参数

printf "格式化字符串" [参数...]

其中,格式化字符串 ​包含两种信息类型:

  1. 普通字符:将被原样输出。
  2. 格式指定符:以 % ​开头,后跟一个或多个标志、宽度、精度和转换说明符,用于指定参数的输出格式。
  3. 常见的格式符:
  • %s​:字符串
  • %c​:字符
  • %x​ 或 %X​:十六进制整数
  • %d​:十进制整数
  • %u​:无符号十进制整数
  • %o​:八进制整数
  • %f​:浮点数
  • %%​:输出一个百分号 %

格式指定符后面可以跟随一些修饰符,例如:

  • WIDTH​:输出的最小宽度
  • PRECISION​:对于浮点数,指定小数点后的位数;对于字符串,指定最大输出字符数

➕ 拓展

参数和选项描述
格式化字符串FORMAT 中包含格式控制符,如 %s、%d、%f 等。
字段宽度使用数字指定字段的最小宽度,如 %10s。
左对齐在字段宽度前加上-符号实现左对齐,如 %-10s。
精度对于浮点数,使用.n 指定小数点后的位数,如 %.2f。
十六进制输出使用 %x 格式符将整数以十六进制形式输出。
显示特殊字符使用转义序列显示特殊字符,如 \n、\t 等。
显示百分比使用 %% 输出百分比符号。
格式化多个参数printf 命令可以接受多个参数,按照格式化字符串中的顺序输出。
转义字符使用反斜杠\来转义特殊字符。

三、命令示例

  1. 输出文本:直接输出文本内容。

    printf "Hello, World\!\n"
    

    感叹号 ! ​需要转义

    image​​​

  2. 格式化输出:使用格式化字符串来控制输出格式。

    printf "Name: %s, Age: %d\n" "Alice" 30
    

    输出

    image

  3. 控制字段宽度:可以指定字段的宽度。

    printf "Name: %-10s, Age: %d\n" "Bob" 25
    

    输出

    image

  4. 控制小数点位数:控制小数点后的位数。

    printf "Value: %.2f\n" 3.14159
    

    输出 Value: 3.14

  5. 显示特殊字符:使用转义序列来显示特殊字符。

    printf "Escape \t character\n"
    

    输出 Escape character

  6. 显示十六进制值:使用 %x ​格式符来显示十六进制值。

    printf "Hexadecimal: %x\n" 255
    

    输出 Hexadecimal: ff

  7. 显示百分比:使用 %% ​来显示百分比符号。

    printf "Progress: %d%%\n" 50
    

    输出 Progress: 50%

注意事项

  • printf​ 命令在脚本编程和命令行输出格式化中非常有用,它允许你创建整齐、一致的输出格式。
  • 需要注意的是,与 echo ​命令不同,printf ​默认不会在字符串末尾自动添加换行符,所以通常需要在格式字符串的末尾手动添加 \n​。
  • 另外,由于 printf ​是 bash 内建的命令,它的行为可能会因不同的 shell 实现而有所不同。在某些 shell(如 POSIX shell)中,printf ​可能不支持某些高级格式化选项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你们用过微信CRM管理系统吗?

微信CRM管理系统是近年来流行的管理软件,在市场上得到了很高的认可。许多企业正在应用微信CRM管理系统,那系统具体有些什么功能呢? 1、聚合聊天,可以管理多个微信号 2、批量多号自动加好友任务,设置好时间间隔以及加人…

《论软件系统架构风格》写作框架,软考高级系统架构设计师

论文真题 系统架构风格(System Architecture Style)是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一个词汇表和一组约束,词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起…

李沐对大模型趋势的几点判断,小模型爆发了!

李沐是上海交通大学 2011 届计算机科学与工程系本硕系友。他曾担任亚马逊资深首席科学家,加州大学伯克利分校和斯坦福大学的访问助理教授,是前 Marianas Labs 联合创始人,深度学习框架 Apache MXNet 的创始人之一。目前是 BosonAI 联合创始人…

C++之STL—string容器

本质:类 class 封装了很多方法:查找find,拷贝copy,删除delete 替换replace,插入insert 构造函数 赋值操作 assign: 字符串拼接 + append: string查找和替换 没查找到,po…

【刷题2—滑动窗口】最大连续1的个数lll、将x减到0的最小操作数

目录 一、最大连续1的个数lll二、将x减到0的最小操作数 一、最大连续1的个数lll 题目: 思路: 问题转换为:找到一个最长子数组,这个数组里面0的个数不能超过k个 定义一个变量count,来记录0的个数,进窗口、…

时序预测 | Python实现KAN+LSTM时间序列预测

时序预测 | Python实现KAN+LSTM时间序列预测 目录 时序预测 | Python实现KAN+LSTM时间序列预测预测效果基本介绍程序设计预测效果 基本介绍 时序预测 | KAN+LSTM时间序列预测(Python) KAN作为这两年最新提出的机制,目前很少人用,很适合作为时间序列预测的创新点,可以结合…

【重学 MySQL】三十八、group by的使用

【重学 MySQL】三十八、group by的使用 基本语法示例示例 1: 计算每个部门的员工数示例 2: 计算每个部门的平均工资示例 3: 结合 WHERE 子句 WITH ROLLUP基本用法示例注意事项 注意事项 GROUP BY 是 SQL 中一个非常重要的子句,它通常与聚合函数(如 COUNT…

MySQL和SQL的区别简单了解和分析使用以及个人总结

MySQL的基本了解 运行环境,这是一种后台运行的服务,想要使用必须打开后台服务,这个后台服务启动的名字是在安装中定义的如下图(个人定义MySQL88)区分大小写图片来源 可以使用命令net start/stop 服务名,开…

实验十八:IIC-EEPROM实验

这个实验比较复杂,是目前第一个多文件项目 KEY1-4:P3^0-P3^3 IIC_SCL=P2^1; IIC_SDA=P2^0; //定义数码管位选信号控制脚 LSA=P2^2; LSB=P2^3; LSC=P2^4; 代码 main.c #include "public.h" #in

常见汽车零部件ASIL等级示例

ASIL(Automotive Safety Integrity Level,汽车安全完整性等级)评级系统是ISO 26262标准中定义的一套风险分类体系,用于评估道路车辆中电子电气系统(E/E系统)功能安全的风险程度,并确保这些系统在…

Linux相关概念和重要知识点(6)(make、makefile、gdb)

1.make、makefile (1)什么是make、makefile? 在我们写完代码后,要编译运行,如果有多个.c文件就需要每次都自己用gcc -o来处理,这十分麻烦。当我们想要自定义多个文件的处理时,我们会浪费很多时…

MatrixOne助力一道创新打造高性能智能制造AIOT系统

客户简介 深圳一道创新(ETAO Innovation)成立于2012年,是一家创新型软件及信息技术服务商,致力于制造戏份行业—电子制造业的数字转型服务,构建万物互联的智能工程。一道创新致力于把先进的软件系统、数字平台、人工智…

拯救者Legion R9000X 2021R(82K8)原厂Win10与Windows11系统恢复镜像下载

LENOVO联想拯救者R9000X锐龙版2021款【82K8】预装OEM系统WIN11/10安装包,恢复原装出厂时开箱状态一模一样 链接:https://pan.baidu.com/s/15dGwacsEG0G8pOiZAHyXaQ?pwd0xgk 提取码:0xgk 联想原装出厂系统自带所有驱动、出厂主题壁纸、系统…

得物App荣获新奖项,科技创新助力高质量发展

近日,备受瞩目的2024中国国际服务贸易交易会(简称“服贸会”)在北京盛大开幕,这一全球唯一的国家级、国际性、综合型服务贸易盛会再次汇聚了全球服务贸易领域的精英与前沿成果。服贸会由商务部和北京市政府携手打造,并…

大数据系统调优:从DAG到单机

目标:优化T10的时效性全局DAG调度层优化:提前任务开始时间: 1. 优化慢结点:T10依赖了T4,T7,T8, 其中T8为瓶颈,如果T8能提前点完成,T10可以早点开始,就能早点完成 2. 快结点做更多预计算…

Android Studio 真机USB调试运行频繁掉线问题

一、遇到问题 Android Studio使用手机运行项目时,总是频繁掉线,连接很不稳定,动不动就消失,基本上无法使用 二、问题出现原因 1、硬件问题:数据线 换条数据线试试,如果可以,那就是数据线的…

如何登录通义灵码,快速开启AI编码之旅?

通义灵码个人版开发者可以使用阿里云账号登录通义灵码 IDE 端插件,本文介绍个人版开发者登录 IDE 端插件的操作指南。 登录通义灵码 步骤 1:准备工作 已成功注册阿里云账号,具体操作可参考:账号注册(PC端)…

通信工程学习:什么是SDN软件定义网络

SDN:软件定义网络 SDN(Software Defined Network),即软件定义网络,是一种新兴的网络架构和技术,它实现了网络控制平面与数据转发平面的分离,并通过软件平台进行集中控制和管理。以下是SDN的详细…

02 BlockChain-- ETH

以太坊与比特币有什么不同? 以太坊立足比特币创新之上,于 2015 年启动,两者之间有一些显著不同。 从宏观的方面: 比特币就仅仅是比特币;以太坊(Ethereum)包括以太币(Ether&#x…

ubuntu中如何查看类型(函数)定义的头文件

问题: 1.该如何查找函数,或者数据类型的头文件? 方法: 1.使用vim搭配ctags 2.使用vscode 使用vscode查看头文件位置的步骤: 1.例如下图,我想添加包含file_operations的头文件 2.双击选中数据类型&#xf…