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