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
转载于:https://blog.51cto.com/sndapk/1219013