shell printf格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。
注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。
如同 echo 命令,printf 命令也可以输出简单的字符串:
- $printf "Hello, Shell\n"
- Hello, Shell
- $
printf 不像 echo 那样会自动换行,必须显式添加换行符(\n)。
printf 命令的语法:
printf format-string [arguments...]
format-string 为格式控制字符串,arguments 为参数列表。
printf()在C语言入门教程中已经讲到,功能和用法与 printf 命令类似,请查看:C语言格式输出函数printf()详解
这里仅说明与C语言printf()函数的不同:
- printf 命令不用加括号
- format-string 可以没有引号,但最好加上,单引号双引号均可。
- 参数多于格式控制符(%)时,format-string 可以重用,可以将所有参数都转换。
- arguments 使用空格分隔,不用逗号。
请看下面的例子:
- # format-string为双引号
- $ printf "%d %s\n" 1 "abc"
- 1 abc
- # 单引号与双引号效果一样
- $ printf '%d %s\n' 1 "abc"
- 1 abc
- # 没有引号也可以输出
- $ printf %s abcdef
- abcdef
- # 格式只指定了一个参数,但多出的参数仍然会按照该格式输出,format-string 被重用
- $ printf %s abc def
- abcdef
- $ printf "%s\n" abc def
- abc
- def
- $ printf "%s %s %s\n" a b c d e f g h i j
- a b c
- d e f
- g h i
- j
- # 如果没有 arguments,那么 %s 用NULL代替,%d 用 0 代替
- $ printf "%s and %d \n"
- and 0
- # 如果以 %d 的格式来显示字符串,那么会有警告,提示无效的数字,此时默认置为 0
- $ printf "The first program always prints'%s,%d\n'" Hello Shell
- -bash: printf: Shell: invalid number
- The first program always prints 'Hello,0'
- $
注意,根据POSIX标准,浮点格式%e、%E、%f、%g与%G是“不需要被支持”。这是因为awk支持浮点预算,且有它自己的printf语句。这样
Shell程序中需要将浮点数值进行格式化的打印时,可使用小型的awk程序实现。然而,内建于bash、ksh93和zsh中的printf命令都支持
浮点格式。
shell printf格式化输出语句的更多相关文章
- C语言 printf格式化输出,参数详解
有关输出对齐 int main(int argc, char* argv[]){ char insertTime[20] = {"1234567890"}; double in ...
- (Go)06. Printf格式化输出、Scanf格式化输入详解
Print.Println .Printf .Sprintf .Fprintf都是fmt 包中的公共方法,在需要打印信息时需要用到这些函数,那么这些函数有什么区别呢? Print: 输出到控制台(不接 ...
- 【Shell脚本学习15】shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
- shell printf命令:怎样格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
- shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
- shell的格式化输出命令printf
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
- C printf格式化输出
转载:https://blog.csdn.net/wucz122140729/article/details/98434702 格式化输出 格式化输出的函数有printf.sprintf和 ...
- printf 格式化输出符号详细说明(转)
%a 浮点数.十六进制数字和p-记数法(C99)%A 浮点数.十六进制数字和p-记法(C99)%c 一个字符(char) %C 一个ISO宽字符 %d 有符 ...
- KEIL C51 printf格式化输出特殊用法
作者:dragoniye 发布:2014-02-15 12:44 分类:硬件 抢沙发 /*******************************************KEI ...
随机推荐
- CMD获取当前目录的绝对路径 (转)
@echo offecho 当前盘符:%~d0echo 当前盘符和路径:%~dp0echo 当前批处理全路径:%~f0echo 当前盘符和路径的短文件名格式:%~sdp0echo 当前CMD默认目录: ...
- cf448A Rewards
A. Rewards time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- mysql C API 字符串玩转备份调优
- 查看登录用户who
几个命令:wwho每隔5秒钟,就来查看hadoop是否已经登录,如登录,显示其已经登录,并退出:sleep whoami last,显示/var/log/wtmp文件,显示用户登录历史及系统重启历史 ...
- web前端之 HTML标签详细介绍
html标签的分类 点我查看完整的html标签介绍 在html中,标签一般分为块级标签和行内标签 块级标签:块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签"p& ...
- Flashback Recovery Area的设置与取消
在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Quer ...
- .net批量删除和添加
往页面上拖一个GridView,设置好数据源,并为GridView添加一个模板列,往模板列里添加一个chekcbox,比如下面的代码 <asp:GridView ID="GridVie ...
- 使用 ETag 和 Last-Modified 报头减轻服务器压力(转)
介绍你的网站在并发访问很大并且无法承受压力的情况下,你会选择如何优化?很多人首先会想从服务器缓存方面着手 对程序进行优化,许多不同的服务器缓存方式都有他们自己的特点,像我曾经参与的一些项目中,根据缓存 ...
- 1.iOS第一个简单APP
大纲: iOS系统发展 UI和OC 简单的APP程序 程序的生命周期 1.iOS的系统发展 从1983年OC程序开始发展到2015年,30多年的时间,但这依然不是一个十分完善的语言,可以说现在都没 ...
- javascript 阻止事件冒泡和阻止默认事件对比
公司项目有像上图中效果的功能需求这也是很常见功能很简单功能,通过一个小例子和大家聊聊js的事件冒泡和默认事件. 先说说一般的实现方式即使用阻止事件冒泡的方式去做,给input绑定一个click事件(并 ...