04 printf 命令
Posted 蓝风9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04 printf 命令相关的知识,希望对你有一定的参考价值。
前言
// 本来想安慰别人, 却把自己搞 emo 了, 呵呵
呵呵 这个命令 应该是 linux 使用者 基本上都会使用到的吧?
呵呵 我们这里主要是 看一下 这个命令是如何工作的
main 中主要是参数处理, 然后将核心业务委托给 print_formatted
print_formatted 主要是对于 占位符部分的处理, 和对于转义字符的处理, 其他字符原样输出
print_direc 主要是基于 printf 来处理 占位符 以及 对应的参数
print_esc 主要是 转义相关处理
基于 linux-4.4.0 + coreutils-8.25
调试基于命令 "printf "%-10s %-8s %-4.2f\\n" 郭靖 男 66.1234"
main
主流程的判断, 获取 fmt, 将业务委托给 print_formatted
print_formatted
从主流程上面来看是分为了 三个部分
一个部分是 基于 print_direc 来处理占位符部分
另外一个部分 是基于 print_esc 来处理转义字符部分
其他部分 直接原样输出
print_direc
这里主要是基于占位符 以及 该占位符对应的参数, 使用 printf 来输出
print_esc
主要是支持转义字符的处理, 包含了 十六进制表示的处理, 八进制表示的处理, 一般转义字符的处理, unicode表示的处理, 其他不符合规则的字符则原样输出
完
以上是关于04 printf 命令的主要内容,如果未能解决你的问题,请参考以下文章
Linux Shell编程——Shell常用命令(输出判断循环函数包含)
Golang basic_leamingfmt.Print, fmt.Printf, fmt.Println 的区别