AWK - 工作流程

首页 / Awk / AWK - 工作流程

要成为专业的AWK程序员,您需要了解其内部机制,AWK遵循简单的工作流程-读取,执行和重复, 下图描述了AWK的工作流程-

AWK Workflow

Read          -  AWK从输入流(文件,管道或标准输入)中读取一行并将其存储在内存中。

Execute      -  默认情况下,AWK在每一行执行命令,我们可以通过提供模式来限制它。

Repeat        -  重复此过程,直到文件结束。

程序结构

现在让我们了解AWK的程序结构。

BEGIN 块

BEGIN {awk-commands}

BEGIN块在程序启动时执行,它只执行一次,这是初始化变量的好地方, BEGIN是AWK关键字,因此必须为大写,请注意,此块是可选的。

Body 块

/pattern/{awk-commands}

主体块在每条输入线上都应用AWK命令,默认情况下,AWK在每一行执行命令,我们可以通过提供模式来限制它,请注意,Body块没有关键字。

END 块

END {awk-commands}

END块在程序结尾处执行, END是AWK关键字,因此必须为大写,请注意,此块是可选的。

让我们创建一个文件 marks.txt ,其中包含序列号,学生姓名,学科名称和获得的分数数量。

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-workflow.html

来源:LearnFk无涯教程网

1)  Learnfk    Physics  80
2)  Toolfk   Maths    90
3)  Chromefk   Biology  87
4)  Poemfk   English  85
5)  Nesfk    History  89

现在,让我们使用AWK脚本显示带有标题的文件内容。

无涯教程网

[jerry]$awk 'BEGIN{printf "Sr No\tName\tSub\tMarks\n"} {print}' marks.txt

执行此代码后,将产生以下输出-

Sr No Name Sub Marks
1) Learnfk Physics 80
2) Toolfk Maths 90
3) Chromefk Biology 87
4) Poemfk English 85
5) Nesfk History 89

首先,AWK从BEGIN块打印标题, 然后,在主体块中,它从文件中读取一行并执行AWK的print命令,该命令仅将内容打印在标准输出流上, 重复此过程,直到文件结束。

这一章《AWK - 工作流程》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

好记忆不如烂笔头。留下你的足迹吧 :)

相关文章

玩转Git三剑客 -〔苏玲 - 〕

Kafka核心技术与实战 -〔胡夕 - 〕

.NET Core开发实战 -〔肖伟宇 - 〕

TensorFlow 2项目进阶实战 -〔彭靖田 - 〕

优化逻辑部分匹配 2 个数组项

具有最大组大小的 GroupBy

如何在 C 中处理来自 PostgreSQL 的数字数据类型?

在 Python 中表示正方形上的数组元素(如图)

Presto 出错 --> 字符串和解析日期

如何返回与 df1 和 df2 中的列 'id' 匹配但不匹配列 'text' 的行...

视频推荐〔13-三剑客-awk数组案例详解〕

更多 Awk-workflow 视频教程 »