awk中printf与print主要不同在于printf不自动使用ORS的换行符,需要手动指定。
1、语法:print (format-expression [,arguments])
注:
    括号可选
            
2、常用修饰符:
    s   字符串
    d   十进制整数
    i   posix 添加的十进制整数
    f   浮点格式([-]ddd.precision)
    g   浮点格式末尾0去掉
3、printf表达式由3个可选的修饰符组成,跟在"%"后面,并出现在格式说明符之前:
    %-width.precision format-specifier
    注:
        -       左对齐,不加的话默认为右对齐
        width       输出的字符宽度
        .precision  a:当输出格式说明符为fgG等修饰符时,指定的小数位数;
            b:当输出格式为s字符串时,表示输出时截取指定的长字符度
4、动态指定宽度和精度
    printf("%*.*g\n", 5, 3, $1)
5、[root@localhost ~]# awk 'BEGIN{printf("%06d\n",3)}'
   000003