linux中printf命令,Linux中printf命令使用实例
在编写shell脚本时,我们使用echo打印到标准输出。echo是一个简单的命令,但其功能有限,想要更好的控制输出格式,可以使用printf命令。
printf的语法格式:
# printf 格式 参数
下面是一个例子:
[root@localhost ~]# printf "姓名:%s\n身高:%dcm\n体重:%dkg\n" "小明" "180" "75"
姓名:小明
身高:180cm
体重:75kg
"姓名:%s\n身高:%dcm\n体重:%dkg\n"是格式,"小明" "180" "75"是参数。格式包含了%s , %d都是格式转换符,%d对应的参数必须是十进制数。%s对应的参数必须是字符串。还包括了三个\n换行符,printf命令默认不会添加还行符号,需要手动添加。
常用的转义字符
\"- 转义后的双引号
\\- 转义后的反斜杠
\b- 退格符
\n- 换行符
\r- 回车符
\t- 水平制表符
\v- 垂直制表符
%%- 单个%符号
常用的类型转换符
类型转换说明符是一个字符,用于指定如何解释相应的参数,该字符是必需添加的,以下是显示所有类型转换及其作用的列表:
%d- 将参数打印为十进制整数
%f- 将参数打印为浮点数
%s- 将参数打印为字符串
%x- 将参数打印为十六进制整数
%o- 将参数打印为八进制整数
实例
实例一
该例子使用%d,%x,%o将后面提供的参数转化为十进制、十六进制、八进制。
[root@localhost ~]# printf "Decimal: %d\nHex: %x\nOctal: %o\n" 100 100 100
Decimal: 100
Hex: 64
Octal: 144
实例二
下面例子使用%.2f,其中.2指参数保留两位小数,f将参数打印为浮点数。
[root@localhost ~]# printf "%.2f\n" 3.1415926
3.14
实例三
下面例子中使用了水平制表符\t。例子中给的参数超过了格式中给出的转换符的数量,多出的参数仍会按照格式输出。
[root@localhost ~]# printf "%s \t %s \t %s\n" "姓名" "性别" "年龄" "小明" "男" "18" "小红" "女" "19" "小蓝" "男" "18"
姓名 性别 年龄
小明 男 18
小红 女 19
小蓝 男 18
实例四
实例中,%-10s , %-8d其中-表示靠左对齐,默认情况下是靠右对齐。10和8表示占用10或者8个字符宽度。\e[1,30;47m ..... \e[0m表示使用粗体字、黑色字体、白色背景,后面的\e[0,m表示重置。
[root@localhost ~]# cat p.sh
#!/bin/bash
printf "\e[1;30;47m%-10s %-10s\e[0m\n" "姓名" "年龄"
printf "\e[36;47m%-10s %-8d\e[0m\n" "小明" "18"
printf "\e[31;47m%-10s %-8d\e[0m\n" "小红" "19"
printf "\e[34;47m%-10s %-8d\e[0m\n" "小蓝" "19"
总结
在编写shell脚本时,我们使用echo打印到标准输出。echo是一个简单的命令,但其功能有限,想要更好的控制输出格式,可以使用printf命令。
linux中printf命令,Linux中printf命令使用实例相关推荐
- linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...
- mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法
在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...
- linux将日历信息导出到,在 Linux 命令行中规划你的假期日历
原标题:在 Linux 命令行中规划你的假期日历 将命令链接在一起,构建一个彩色日历,然后在暴风雪中将其拂去. -- Jason Baker 欢迎阅读今天推出的 Linux 命令行玩具降临日历.如果这 ...
- 【Linux】大数据开发中常用的shell命令
内容目录 一.date 二.find 三.awk 四.cut 五.if 六.sort 一.date 具体的用法如下: 显示当前日期和时间 date +%Y-%m-%d\ %H:%M:%S 将日期转换为 ...
- linux中gawk用法,Linux - gawk 命令
gawk 是 awk 的 GUN 版 =========================================== 是一种<模式扫描和处理>语言.它搜索一个或多个文件,查看这些文 ...
- linux之awk命令格式化输出(printf)使用技巧
linux之awk命令格式化输出(printf)使用技巧 在使用awk命令的过程中输出的每一列总是对不齐,看着很乱,如下: [root@linuxforliuhj ~]# awk -F ": ...
- Linux服务端开发——Linux中stat函数和stat命令使用详解
这篇文章主要介绍了Linux中stat函数和stat命令使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 stat函数和s ...
- linux内存使用统计,Linux 中free命令检查内存使用情况
我们都知道, IT 基础设施方面的大多数服务器(包括世界顶级的超级计算机)都运行在 Linux 平台上,因为和其他操作系统相比, Linux 更加灵活.有的操作系统对于一些微乎其微的改动和补丁更新都需 ...
- python中的 怎么用_Python中如何调用Linux命令
一.使用os模块 In [1]: import os #导入os模块 In [2]: os.system('ls') anaconda-ks.cfg epel-release-7-5.noarch.r ...
最新文章
- 前端、云与人工智能的碰撞 | GDG广州
- Assertion desc failed at src/libswscale/swscale_internal.h:668
- Java程序员转Android开发必读经验
- 万物皆可“小程序”——迟到的iOS 14之猜想
- 大剑无锋之拦截器和过滤器的区别【面试推荐】
- Shell按行读取文件的3种方法
- 集合三人斗地主的思路
- linux中权限765啥意思,Linux中的文件权限
- 2016上半年中国云存储排行榜:阿里云居榜首
- jquery/原生js/css3 实现瀑布流以及下拉底部加载
- python简明教程_05
- 关于 Activity 中 must implement OnFragmentInteractionListener 的问题
- 蒙圣光:2018年IT行业的八大趋势
- 使用LibreOffice实现word转pdf(python代码)
- libero soc 仿真74HC161
- iOS--CFMessagePort实现进程间通信
- Java面试题十篇基本问题,学完这些我就不信拿不到offer
- 字节面试杂谈——MySQL、Redis
- 【心电信号】基于多种滤波去除心电信号基线漂移含Matlab源码
- A-Frame WebVR试玩报告