printf 命令:格式化输出

一、命令简介

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.xdnf.cn/news/1543544.html

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

相关文章

FastAPI开发环境搭建——开发第一个web程序

FastAPI开发环境搭建——开发第一个web程序 搭建开发环境 FastAPI官方文档学习 - FastAPI (tiangolo.com) 安装fastapi框架 pip install fastapi[all] pip install uvicorn使用对应IDE创建fastapi项目,例如pycharm,vscode和创建普通的python项目无差别 创建一个…

Solidity编码规范汇总篇

本文首发于公众号 【Keegan小钢】 上周,完成了 Solidity 编码规范的视频录制并上传到了 B 站、Youtube 和视频号。总共分为了 6 个小节,在 B 站的合集地址为: https://space.bilibili.com/60539794/channel/collectiondetail?sid3780183 为…

【ASE】第一课_双面着色器

今天我们一起来学习ASE插件,希望各位点个关注,一起跟随我的步伐 今天我们来学习双面着色器,对颜色和贴图进行差值,双面显示不同的效果 最终效果: 思路: 1.先确定前后面的贴图和颜色 贴图(Alb…

高效工程师的七个习惯

原文 我曾与一些杰出的工程师共事过 – 在诸如 FAANG 的大公司,也在初创规模的小公司。他们让我看到,传说中的「10 倍」工程师,真实存在! 如今,这些工程师中,有些人后来创办了自己的公司,他们…

kmp快速匹配

用处:对于一个较长的字符串A,判断A中是否存在字符串B。 思路: 暴力的做法是从A的每个元素开始,依次比较看是否有和B相同的子串,时间复杂度是o(N*N) 优化思路是对于每次查找完成以后&#xff…

springboot+vue宠物医院挂号看病诊断系统 f9h46

目录 宠物主人宠物医生系统管理人员系统实现截图技术介绍核心代码部分展示详细视频演示源码获取 宠物主人 登录注册:注册账户并登录系统。 首页:显示系统基本信息和用户导向功能。 个人中心:更新个人信息,包括联系方式、密码等。…

【AI创作组】工程方向的硕士研究生学习Matlab的路径

1. MATLAB软件概述 1.1 MATLAB发展历程 MATLAB自20世纪70年代诞生以来,已经经历了多次重要的版本更新和功能扩展。 初始版本:MATLAB的前身只是一个简单的交互式矩阵计算器,由Cleve B. Moler博士在1970年代初期开发,目的是为了方便学生和研究人员使用线性代数软件包LINPAC…

农业与植物基因组分析专家—优青博导提供从实验设计、数据分析到SCI论文咨询的一站式服务。多年经验,精准高效,为农业科研保驾护航!

🌟 教授团队领衔,全方位服务! 🚀 从实验设计到论文发表,一站式解决方案! 📈 选择我们,加速您的科研进程,让成果不再等待! 📝 专业分析 定制服…

ubuntu安装gitlab-runner

目录 1.添加gitlab 仓库地址 ​编辑2. 安装gitlab-runner命令 1.添加gitlab 仓库地址 curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash2. 安装gitlab-runner命令 sudo apt-get install -y gitlab-ru…

Python3爬虫教程-HTTP基本原理

HTTP基本原理 1,URL组成部分详解2,HTTP和HTTPS3,HTTP请求过程4,请求(Request)请求方法(Request Method)请求的网址(Request URL)请求头(Request H…

招联金融内推(深圳武汉大量招后端、算法)---2025秋招内推

【投递方式】 直接扫下方二维码,或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus,使用内推码 igcefb 投递) 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

HubSpot一站式增长平台,让获客变得超简单

在这片浩瀚的商业海洋中,每一位企业家都是一位勇敢的航海家,驾驶着自己的船只,追逐着心中的梦想与远方。然而,风浪无情,竞争激烈,如何才能确保你的航程既平稳又快速?HubSpot,正是那位…

宠物去浮毛救星?希喂、小米、霍尼韦尔宠物空气净化器哪款好用

怎么有人放假也不开心? 快到的国庆假期真是愁死我了...本来我妈国庆去旅游,我就打算不回家,和我家猫过二人世界。结果突然有事,我妈取消出行,改成让我假期回家陪她。我回家容易,我家猫回去可难啊&#xff…

【C++】拆分详解 - string类

文章目录 一、为什么学习string类?二、标准库中的string类  1. 定义  2. 常用接口说明     2.1 构造     2.2 容量操作     2.3 访问及遍历操作     2.4 修改操作     2.5 非成员函数 三、OJ练习自测  [1. 仅仅反转字母](https://leetcod…

基于DeepFace深度学习模型的离线版人脸识别API接口实现(类似百度在线API接口)

一 背景 人脸识别技术经过数年的发展,在技术算法、识别性能、应用场景以及隐私保护和数据安全等方面都取得了显著的进步和成熟。 应用场景 门禁系统: 在门禁系统中,离线人脸识别可用于身份验证,用户只需站在摄像头前&#xff0…

明明没违规,应用还是被判恶意软件?可能是这些原因

作为Google Play上架应用的开发者,大家的普遍感受:比起写代码,上架的过程简直更让人心力交瘁!特别是涉及用户数据和隐私保护的时候,稍有疏忽,就可能面临应用被下架、甚至账号被封的风险。 最近听到很多开发…

FPGA随记——VIVADO中ASYNC_REG指令

参考文章:Vivado综合属性系列一、ASYNC_REG_asyncregtrue-CSDN博客 -很棒棒的 跨时钟域设计(CDC)是个老生常谈的问题,其场景很多很杂,其中一个比较为人熟知的就是单bit信号从慢时钟到快时钟所采用的两级寄存器处理的…

一种求解城市场景下无人机三维路径规划的高维多目标优化算法,MATLAB代码

在城市环境下进行无人机三维路径规划时,需要考虑的因素包括高楼、障碍物、飞行安全和效率等。为了解决这些问题,研究者们提出了多种算法,包括基于智能优化算法的方法。 首先,无人机航迹规划问题的数学模型需要考虑无人机的基本约…

Spring Boot集成Redis Search快速入门Demo

1.什么是Redis Search? RedisSearch 是一个基于 Redis 的搜索引擎模块,它提供了全文搜索、索引和聚合功能。通过 RedisSearch,可以为 Redis 中的数据创建索引,执行复杂的搜索查询,并实现高级功能,如自动完…

【第十二周】李宏毅机器学习笔记10:生成式对抗网络2

目录 摘要Abstract1.GAN is Still Challenging2.Evaluation of Generation2.1 Mode Collapse2.2.Mode Dropping2.3.Diversity 3.Conditional GAN4.Learning from Unpaired Data总结 摘要 本周主要学习了上周关于生成式对抗网络的剩余知识,了解了为什么 GAN 难以训练…