# 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