linux命令之printf

1.printf介绍

linux命令printf是linux的另外一个输出命令(其中一个为echo),其是模仿C程序库里的printf()程序。

由于printf是由POSIX(Portable Operating System Interface of UNIX)标准所定义,因此使用printf的脚本比使用echo移植性好。

printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf不会像echo自动添加换行符,我们可以手动添加\n。

2.printf用法

printf format-string [arguments...]

其中:

format-string:为格式控制字符串

format-string 说明
%c 输出一个字符
%d 输出一个整数
%f 输出float数
%s 输出字符串
%b 开启转义,后面输出字符串中若含有转义字符会进行转义
\n 换行
\r 回车
\t 水平制表符
\\ 反斜杠字符

arguments:为参数列表

3.printf样例

3.1.printf基本输出

命令:

printf "Hello,ztj\n"

[root@kibana ~]# printf "Hello,ztj\n"
Hello,ztj
[root@kibana ~]# 

3.2.printf脚本样例

#!/bin/bash

printf "%-20s %-10s %-6s\n"  姓名 性别 体重kg  
printf "%-20s %-10s %-6.3f\n"  张三 男 88.8888
printf "%-20s %-10s %-6.3f\n"  李四 男 66.1234
printf "%-20s %-10s %-6.3f\n"  王五 女 49.2345
[root@kibana ~]# sh printf.sh 
姓名               性别     体重kg
张三               男        88.889
李四               男        66.123
王五               女        49.235
[root@kibana ~]#

其中:

%-20s 指一个宽度为20个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 20 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。%-10s亦然。

%-6.3f 指格式化为小数,其中.3指保留3位小数。

3.3.例外测试

-->printf "%s and %d \n"

如果没有arguments,那么%s用null代替,%d用0代替

[root@kibana ~]# printf "%s and %d \n"
 and 0 

-->printf "test:<%s>\n" "A\nB"

%s表示整个字符串

[root@kibana ~]# printf "test:<%s>\n" "A\nB"
test:<A\nB>
[root@kibana ~]# 

-->printf "test:<%b>\n" "A\nB"

%b表示开启转义,后面输出字符串中若含有转义字符会进行转义。即:A\nB中,A和B会换行显示

[root@kibana ~]# printf "test:<%b>\n" "A\nB"
test:<A
B>
[root@kibana ~]# 

相关推荐

  1. linux命令printf

    2024-04-25 07:16:05       36 阅读
  2. Shell学习——Shell printf命令

    2024-04-25 07:16:05       24 阅读
  3. linux 命令tar命令

    2024-04-25 07:16:05       41 阅读
  4. linux ln 命令

    2024-04-25 07:16:05       56 阅读
  5. printf

    2024-04-25 07:16:05       55 阅读
  6. linux命令总结seq命令

    2024-04-25 07:16:05       55 阅读
  7. Linux常用命令sed命令

    2024-04-25 07:16:05       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 07:16:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 07:16:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 07:16:05       87 阅读
  4. Python语言-面向对象

    2024-04-25 07:16:05       96 阅读

热门阅读

  1. TCP详解

    TCP详解

    2024-04-25 07:16:05      31 阅读
  2. 【Altium Designer-画板指南】

    2024-04-25 07:16:05       31 阅读
  3. 骑砍2霸主MOD开发(8)-action_sets.xml骨骼动画

    2024-04-25 07:16:05       36 阅读
  4. elment-table实现行滚动效果

    2024-04-25 07:16:05       36 阅读
  5. 平时学习得到的

    2024-04-25 07:16:05       37 阅读
  6. 开源协议与商业许可:选择与遵循

    2024-04-25 07:16:05       40 阅读
  7. RabbitMQ spring boot TTL延时消费

    2024-04-25 07:16:05       36 阅读
  8. rabbitmq报错

    2024-04-25 07:16:05       38 阅读