就像我们已经介绍过的:大多数时候,你只是想把选定的字段显示出来,或者重新安排其顺序。简单的打印可使用 print 语句做到,只要提供给它需要打印的字段列表,变量或字符串即可:
awk -F: '{ print "User", $1 , "is really", $5}' /etc/passwd
简单明了的 print 语句,如果没有任何参数,则等同于 print $0 ,即显示整条记录。
以刚才的例子来说,在混合文本与数值的情况下,多半会使用 awk 版本的 printf 语句。这和先前在 2.5.4 节所提及的 Shell 版本的 printf 语句相当类似,这里就不再重复。以下是把上例修改为使用 printf 语句的用法:
awk -F: '{ printf "User %s is really %s\n", $1 , $5 } ' /etc/passwd
awk 的 print 语句会自动提供最后的换行字符,就像 Shell 层级的 echo 与 printf 那样,然而,如果使用 printf 语句,则用户必须通过 \n 转义序列的使用自己提供它。
注意:请记得在 print 的参数间用逗点隔开!否则,awk 将连接相邻近的所有值。忘了加上逗点,这是个常见又难找到的错误。