# echo 97 | awk '{printf("%c\n", $0)}'
A像C语言一样,换行需要加“\n”。# echo 97 | awk '{printf("%d\n", $0)}'
97
# echo 97 | awk '{printf("%f\n", $0)}'
97.000000
# echo 97 | awk '{printf("%e\n", $0)}'
9.700000e+01
# echo 97 | awk '{printf("%s\n", $0)}'
97类似C语言的格式化输出:# awk 'BEGIN{FS=":"}{printf("%-15s%s\n", $1, $3)}' group_file2
wireshark 987
usbmon 986
jackuser 985
vboxusers 984
aln 1001sprintf()函数返回根据printf格式说明指定的格式化的字符串,它格式化数据但不输出数据。所以需要将sprintf返回的数据保存在变量里面再输出。# awk 'BEGIN{FS=":";ORS=""}{var=sprintf("%s\n", $1);print var}' group_file2
wireshark
usbmon
jackuser
vboxusers
aln其他的用法和C语言类似。原文:http://blog.csdn.net/shallnet/article/details/38855089