ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

awk命令介绍

2022-04-25 01:04:06  阅读:164  来源: 互联网

标签:语句 BEGIN END 读取 commands 介绍 命令 awk


一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成。这三个部分是可选的,任意一个部分都可以不出现在脚本中。

‘ ’ 脚本通常是在 单引号 中

{ }     命令代码块,包含一条或多条命令

;     多条命令使用分号分隔,即{ ; ; }

/ /           匹配代码块,可以是字符串或正则表达式

 

awk的工作原理

awk 'BEGIN{ commands } pattern{ commands } END{ commands }'

  • 第一步:执行BEGIN{ commands }语句块中的语句;

  • 第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行重复这个过程,直到文件全部被读取完毕。

  • 第三步:当读至输入流末尾时,执行END{ commands }语句块。

BEGIN语句块 在awk开始从输入流中读取行 之前 被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等语句通常可以写在BEGIN语句块中。

END语句块 在awk从输入流中读取完所有的行 之后 即被执行,比如打印所有行的分析结果这类信息汇总都是在END语句块中完成,它也是一个可选语句块。

pattern语句块 中的通用命令是最重要的部分,它也是可选的。如果没有提供pattern语句块,则默认执行{ print },即打印每一个读取到的行,awk读取的每一行都会执行该语句块。

echo -e "A line 1\nA line 2" | awk 'BEGIN{ print "Start" } { print } END{ print "End" }'
Start
A line 1
A line 2
End

 

awk字符串匹配

https://www.linuxprobe.com/awk-filter-string.html

标签:语句,BEGIN,END,读取,commands,介绍,命令,awk
来源: https://www.cnblogs.com/zhegemaw/p/16188466.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有