• printf
    • 补充说明
      • 语法
      • 参数
      • 实例

    printf

    格式化并输出结果

    补充说明

    printf命令 格式化并输出结果到标准输出。

    语法

    1. printf(选项)(参数)
    2. --help:在线帮助;
    3. --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位的八进制值字符

    实例

    1. printf "hello world"
    1. #!/bin/bash
    2. printf "%-5s %-10s %-4s\n" NO Name Mark
    3. printf "%-5s %-10s %-4.2f\n" 01 Tom 90.3456
    4. printf "%-5s %-10s %-4.2f\n" 02 Jack 89.2345
    5. printf "%-5s %-10s %-4.2f\n" 03 Jeff 98.4323
    • %-5s 格式为左对齐且宽度为5的字符串代替(-表示左对齐),不使用则是又对齐。
    • %-4.2f 格式为左对齐宽度为4,保留两位小数。