AWK printf

AWK printf

格式化输出: printf “FORMAT” , item1, item2, ...

  • 1,必须指定FORMAT
  • 2, 不会自动换行,需要显式给出换行控制符, \n
  • 3, FORMAT中需要分别为后面每个item指定格式符

格式符:

与item一一对应
%c,显示字符的ASCII码
%d,%i: 显示十进制整数
%e,%E:显示科学计数法数值
%f,显示为浮点数
%g,%G:以科学计数法或浮点形式显示数值
%s,显示字符串
%u,无符号整数
%%:,显示%自身

修饰符:

#[.#]:
第一个数字控制显示的宽度;
第二个#表示小数点后精度, %3.1f
-: 左对齐(默认右对齐) %-15s
+:显示数值的正负符号 %+d

列子:

awk -F: '{printf "%s---%d\n", $1,$3}' /etc/passwd
root---0  
bin---1  
daemon---2  
adm---3  
lp---4

使用修饰符:

awk -F: '{printf "%-10s---%10.2f\n", $1,$3}' /etc/passwd  
(%-10s 左对齐,共10个字符)(%10.2f右对齐,10个字符位置,两个小数,用零补齐)
root      ---      0.00
bin       ---      1.00
daemon    ---      2.00
adm       ---      3.00
lp        ---      4.00
posted @ 2017-06-15 17:47  linushelp  阅读(354)  评论(0编辑  收藏  举报