You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
printf
===
格式化并输出结果
## 说明
**printf命令** 格式化并输出结果到标准输出。
### 语法
```
printf(选项)(参数)
--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位的八进制值字符
### 实例
```
printf "hello world"
```
```
#!/bin/bash
printf "%-5s %-10s %-4s\n" NO Name Mark
printf "%-5s %-10s %-4.2f\n" 01 Tom 90.3456
printf "%-5s %-10s %-4.2f\n" 02 Jack 89.2345
printf "%-5s %-10s %-4.2f\n" 03 Jeff 98.4323
```
* %-5s 格式为左对齐且宽度为5的字符串代替( -表示左对齐),不使用则是又对齐。
* %-4.2f 格式为左对齐宽度为4, 保留两位小数。