printf 是一个 shell 命令,它的作用是将格式化的字符串输出到标准输出设备(stdout)。它和 echo 命令类似,但是 printf 命令支持更多的格式化输出,比如控制字符串的宽度、对齐方式、字符集等。
printf 命令语法
printf 命令的基本语法格式如下:
printf [OPTION]... FORMAT [ARGUMENT]...
其中,OPTION 是可选参数,FORMAT 是格式化字符串,ARGUMENT 是需要格式化的参数。
printf 命令格式化字符串
printf 命令可以使用格式化字符串来格式化输出。格式化字符串中可以使用以下字符:
- %s:字符串
- %c:字符
- %d:有符号整数
- %u:无符号整数
- %f:浮点数
- %e:指数形式
- %g:%e 或 %f 中较短的一种
- %o:八进制整数
- %x:十六进制整数
- %%:百分号(%)
例如,使用 printf 命令输出字符串,可以使用以下命令:
printf "%s" "Hello World"
输出结果为:
Hello World
使用 printf 命令输出整数,可以使用以下命令:
printf "%d" 10
输出结果为:
10
printf 命令控制输出宽度
printf 命令可以通过控制输出宽度,来控制输出格式。例如,使用 printf 命令输出整数,可以使用以下命令:
printf "%5d" 10
输出结果为:
10
可以看到,输出的结果前面有 3 个空格,这是因为指定了输出宽度为 5 个字符,而输出的字符串只有 2 个字符,所以前面补齐了 3 个空格。
printf 命令控制对齐方式
printf 命令可以通过控制对齐方式,来控制输出格式。例如,使用 printf 命令输出整数,可以使用以下命令:
printf "%-5d" 10
输出结果为:
10
可以看到,输出的结果后面有 3 个空格,这是因为指定了输出宽度为 5 个字符,而输出的字符串只有 2 个字符,所以后面补齐了 3 个空格。
printf 命令控制字符集
printf 命令可以通过控制字符集,来控制输出格式。例如,使用 printf 命令输出字符串,可以使用以下命令:
printf "%s\n" "Hello World"
输出结果为:
Hello World
可以看到,输出的结果后面有一个换行符,这是因为指定了字符集为 \n,所以输出换行符。
printf 命令示例
下面是一些 printf 命令的示例:
- 输出字符串:
printf "%s\n" "Hello World"
- 输出整数:
printf "%d\n" 10
- 输出宽度为 5 的整数:
printf "%5d\n" 10
- 输出宽度为 5,左对齐的整