在awk
中有两个输出函数:print
和printf
。
awk
的实现是否有很大差异?time
”)?答案 0 :(得分:9)
print
函数在结尾处输出换行符;除非有要求,否则printf
不会。print
代码将参数转换为字符串,然后将它们发送到由OFS分隔的输出(输出字段分隔符)。printf
代码可能需要在使用双格式(%16.8g
或其他东西)格式化之前将字符串转换为double,以及类似的操作。write(2)
或类似的两者,但是会有代码(可能<stdio.h>
)分层。所有这一切加起来:
print
比printf
更简单(因此更快)。print
;在满足您的需求时使用printf
。使用sprintf
后跟print
可能比直接使用printf
要慢,所以不要。
如有疑问,请测量。