Linux 的 printf 命令

Linux 的 printf 命令是一个功能强大的格式化输出工具,它提供了比传统 echo 命令更精确的输出控制。该命令源自 C 语言的 printf() 函数,在 Bash shell 和其他 shell 环境中都可以使用。

基本语法:
printf format [arguments...]

主要特点:

  1. 格式字符串中可以包含:

    • 普通字符(直接输出)
    • 转义序列(如 \n 换行,\t 制表符)
    • 格式说明符(以 % 开头)
  2. 常用格式说明符:

    • %s:字符串
    • %d:十进制整数
    • %f:浮点数
    • %x:十六进制数
    • %b:解释转义字符的字符串
    • %%:输出百分号
  3. 高级功能:

    • 可以指定字段宽度(如 %10s 表示10字符宽度的字符串)
    • 可以控制小数位数(如 %.2f 表示保留2位小数)
    • 支持左对齐(如 %-10s

使用示例:

bash 复制代码
# 基本字符串输出
printf "Hello, %s\n" "World"

# 格式化数字
printf "Decimal: %d, Hex: %x\n" 255 255

# 控制小数位数
printf "Pi: %.4f\n" 3.1415926

# 对齐输出
printf "%-15s %10d\n" "Label1" 123 "Label2" 456

# 处理转义字符
printf "%b" "Line1\nLine2\n"

# 多参数处理
printf "%s %s\n" "First" "Second" "Third" "Fourth"

echo 的区别:

  1. printf 不会自动添加换行符(除非显式使用 \n
  2. 提供更精确的格式化控制
  3. 行为在所有环境中更一致
  4. 可以更好地处理特殊字符

注意事项:

  • 参数数量必须与格式字符串中的格式说明符匹配
  • 如果参数多于格式说明符,格式字符串会被重用
  • 在脚本中使用时,建议将格式字符串用引号括起来

printf 特别适合需要精确控制输出格式的场景,如生成固定格式的报告、表格数据输出等。

相关推荐
霜落花轻扬9 小时前
在 Rails 中指定端口和 IP 地址
服务器·ruby on rails
HackTwoHub9 小时前
可视化未授权访问批量探测工具、支持批量目标、并发扫描、SOCKS5 全局代理、CSV 导出
linux·windows·macos·网络安全·网络攻击模型
一只专注api接口开发的技术猿9 小时前
京东商品实时监控选品实战:用 Open Claw API 快速搭建自动化工具
运维·数据库·自动化
ACP广源盛139246256739 小时前
磐石 100 :IX6012 :ASM1812@ACP#国产 PCIe 2.0 交换芯片,轻量级算力扩展应用分享
大数据·linux·运维·网络·人工智能·嵌入式硬件·电脑
H Journey9 小时前
网络编程:服务器监听+非阻塞设置
服务器·网络·服务器监听+非阻塞设置
A-刘晨阳9 小时前
K8s之负载均衡
linux·运维·容器·kubernetes·负载均衡
学困昇10 小时前
彻底搞懂 Linux 基础 IO:文件描述符、重定向、dup2、缓冲区一次讲透!
linux·运维·服务器·开发语言·c++
xmlhcxr10 小时前
从 0 到 1 落地企业级 DevOps CI/CD 流水线:基于 GitLab+Jenkins+Harbor 的完整实践
运维·docker·gitlab·jenkins·harbor·devops
赋创小助手10 小时前
PCIe 8.0 要来了:1TB/s 带宽背后,AI 算力服务器正在进入“高速互联时代”
运维·服务器·人工智能
xiaoye-duck10 小时前
《Linux系统编程》Linux指令 (三):从零开始理解Linux基础指令
linux