Shell printf 命令学习笔记

一、简介

printf 是一个经典的格式化输出命令,可以将指定的字符串内容以指定的格式输出到终端或文件中。该命令通常用于脚本编写或者命令行操作。

二、基本用法

printf 命令的基本语法如下:

bashCopy Code
printf format-string [arguments...]

其中,format-string 表示输出的格式,具体的格式参见下面的详解。arguments... 表示要输出的参数列表,每个参数之间用空格分隔。

下面是一个简单的示例:

bashCopy Code
$ printf "Hello, world\n" Hello, world

上面的命令会输出 Hello, world 到终端中。

三、输出格式

printf 命令支持多种输出格式,下面是一些常见的格式:

1. 字符串输出

使用 %s 可以按照字符串的格式输出参数列表中的内容。例如:

bashCopy Code
$ printf "%s\n" "Hello, world" Hello, world

2. 整数输出

使用 %d 可以按照十进制整数的格式输出参数列表中的内容。例如:

bashCopy Code
$ printf "%d\n" 123 123

3. 浮点数输出

使用 %f 可以按照浮点数的格式输出参数列表中的内容。例如:

bashCopy Code
$ printf "%.2f\n" 3.1415926 3.14

上面的命令会将浮点数 3.1415926 输出到终端中,并保留两位小数。

4. 八进制输出

使用 %o 可以按照八进制的格式输出参数列表中的内容。例如:

bashCopy Code
$ printf "%o\n" 123 173

5. 十六进制输出

使用 %x 可以按照十六进制的格式输出参数列表中的内容。例如:

bashCopy Code
$ printf "%x\n" 456 1c8

四、实例演示

下面是一些常见的 printf 命令使用实例:

1. 输出带有颜色的字符串

bashCopy Code
$ printf "\033[31m%s\033[0m\n" "Hello, world"

2. 输出表格

bashCopy Code
$ printf "| %-10s | %-10s |\n" "Name" "Age" $ printf "| %-10s | %-10s |\n" "Alice" "20" $ printf "| %-10s | %-10s |\n" "Bob" "30"

上面的命令会输出如下表格:

Name Age
Alice 20
Bob 30

3. 输出进度条

bashCopy Code
$ for i in {1..100}; do printf "[%d%%]\r" $i sleep 0.1 done printf "\n"

上面的命令会输出从 1%100% 的进度条。

五、总结

printf 命令是一个强大的格式化输出命令,在脚本编写或者命令行操作中经常用到。通过本文的学习,相信你已经掌握了该命令的基本使用方法和常见的输出格式。