在awk中,BEGIN和END块是特殊的模式块,它们分别在处理输入之前和之后执行一次。以下是一个包含代码示例的解决方法:
# 示例数据
$ echo "Alice 25" >> data.txt
$ echo "Bob 30" >> data.txt
$ echo "Charlie 35" >> data.txt
# 示例代码
$ awk 'BEGIN { print "Name Age" } { print $1, $2 } END { print "End of file" }' data.txt
输出结果:
Name Age
Alice 25
Bob 30
Charlie 35
End of file
在上面的示例中,BEGIN块用于在处理输入之前输出标题行。然后,处理每一行时,打印每行的第一个和第二个字段。最后,END块在处理完所有输入之后输出“End of file”。