awk命令的操作部分被括在大括号内。如果未指定操作,则匹配到模式时, awk 会采取默认操作,即在屏幕上打印包含模式的行。print函数用于简单的输出。更为复杂的输出则要使用printf 和sprintf 函数。如果熟悉C语言,那么一定懂得如何使用printf和sprintf。
也可以用{print}形式在awk命令的动作部分显式地调用print函数。print函数的参数可以是变量、数值或字符串常量。字符串必须用双引号括起来。参数之间用逗号分隔,如果没有逗号,所有的参数就会被串在一起。逗号等价于OFS中的值,默认情况下是空格。
print函数的输出可以被重定向,也可以通过管道传给另一个程序。其他程序的输出也可以通过管道交给awk打印。
范例
$ date
Thu Mar 12 12: 23: 23 CST 2015
Thu Mar 12 12: 23: 23 CST 2015
$ date
| awk
'{print "Month: "$2 "\nYear: "$6}'
Month: Mar
Year: 2015
Month: Mar
Year: 2015
说明:Linux中, date命令的输出经管道发送给awk。打印显示为字符串Month:,后面跟date输出结果中的第2个字段,然后是另一个字符串,该串中包含换行符\n和Year:,最后是date输出结果中的第6个字段($6)。
转义序列:转义序列用一个反斜杠后跟一个字母或数字来表示。它们可以用在字符申中,代表制表符、换行符、换页符等(参见下表) 。
转义序列 | 含义 |
---|---|
\b | 退格 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 制表符 |
\047 | 八进制值47. 即单引号 |
\c | C 代表任一其他字符,例如"\" |