Shell printf 命令学习笔记
一、简介
printf
是一个经典的格式化输出命令,可以将指定的字符串内容以指定的格式输出到终端或文件中。该命令通常用于脚本编写或者命令行操作。
二、基本用法
printf
命令的基本语法如下:
bashCopy Codeprintf 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
命令是一个强大的格式化输出命令,在脚本编写或者命令行操作中经常用到。通过本文的学习,相信你已经掌握了该命令的基本使用方法和常见的输出格式。