推荐这「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序给大家用,个人觉得很不错哦
分类:新闻资讯
开发作者:
发布时间:
更新时间:
「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite_作者自评:
如何评价百家号Lite小程序热议话题「Linuxshell脚本编程入门系列七:linux三剑客之awk」
1、awk是什么?
awk命令的作用是进行文本扫描、处理以及报表的生成。awk命令有自己的语法规则,官方说法叫“样式扫描和处理语言”,其语法借鉴了C语言的精华。由于其强大的文本分析能力与格式化输出能力,awk命令成为Linux环境开发者的必备杀器,与grep命令、sed命令一起被称为Linux三剑客。熟练运用awk命令能让我们的日常工作变得高端同时也高效起来。
2、awk的基本使用
awk对文本的扫描是以行为单位的,也就是说awk一次从文本中读取一行的内容。awk使用的一般形式为:awk'{pattern+action}'file,执行流程为:一次从文件中读取一行,在读取的内容中如果匹配到与pattern符合的文本,则执行action操作,然后继续处理下一行;如果没有匹配到与pattern符合的文本则直接执行下一行。这里花括号不是必须的,pattern也不是必须的。
下面用两个小例子来说明,使用awk命令查看test.txt的第5到第10行的内容:
awk命令扫描文本
图中NR为awk命令所扫描的行数,awk命令会对test.txt逐行行扫描并判断行号范围,如在在5~10行之间则输出行号和改行的内容。
查看当前文件夹下以.sh为后缀的文件也一样可以使用awk配合正则表达式来处理。
文件过滤
3、awk最常用的特色
1)wak可以使用F来指定分隔符,在进行行扫描时依据分隔符将一行的文本分割为几个字段。例如将以下文本中的单词挑选出来,该文本中的单词是以空格和逗号为分隔符的。
文本信息
当需要对文本或字符串的字段进行分析时,F选项往往都能帮到我们。
单词解析
2)awk命令可以定义开始代码块和结束代码块。
awk每扫描完一行都会将action执行一次,但是在一些情况下,我们希望能够在开始扫描前初始化一些信息,扫描结束后将多行的扫描结果做一个统计输出。这是开始代码块和结束代码块就可以派上用场了。
开始代码块和结束代码块使用BEGIN和END来进行定义。例如统计字符串中某个字符出现的次数,则可以以如下形式使用BEGIN和END。
BEGIN与END
执行结果
BEGIN代码块会在开始扫描前执行一次,END代码块会在扫描结束后执行一次,而中间的action则是每扫描完一行就执行一次。
4、实战举例
上一期我们使用grep命令对ip进行了简单的过滤,但是却没有判断ip每个字段的范围是否合理,这里我们使用awk命令来完成各段ip的解析。如下图:
awk检查ip合法性
输出结果
5、小结
awk有强大的文本分析能力,而上一期所说的grep命令有着强大的文本搜索能力,这两者常常会配合使用来完成Linux系统中的各种文件操作。下一期将学习Linux三剑客中的sed命令,sed侧重与文本的处理、编辑能力。
如果您对Linuxshell脚本编程感兴趣,可以点击我的个人主页查看更多往期内容。
关注[睡前笔记
]百家号,利用零碎时间了解更多计算机领域干货。
该话题由百家号作者睡前笔记「简介:每天睡前半小时,学习实用计算机小知识」
更多有关Linuxshell脚本编程入门系列七:linux三剑客之awk的话题讨论请访问百家号Litex小程序关注作者-睡前笔记
「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite_使用指南:
步骤1:微信扫描「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序码即可使用;
步骤2:微信搜索「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序名称即可使用;
步骤3:微信网页访问即速商店-长按识别「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序码即可使用。
「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite_服务声明:
本服务由「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序开发者向微信用户提供,并对本服务信息内容、数据资料及其运营行为等的真实性、合法性及有效性承担全部责任。
"「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite"由开发者"「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite"原创首发于微信小程序商店shop.jisuapp.cn,转载请注明出处。
长按保存二维码,在微信app识别
共收到5条评价
5星3条
4星2条
3星0条
2星0条
1星0条
2019-09-15 02:12:31
推荐这「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序给大家用,个人觉得很不错哦
2019-09-15 02:11:42
很值得使用的「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序,决定当个忠实粉丝啦~
2019-09-15 02:09:55
这「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序必须推荐啊!!
2019-09-15 02:04:07
居然还有这样子的小程序,这「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite微信小程序简直太完美了!!
2019-09-15 02:01:47
这个「Linux shell脚本编程入门系列七:linux三剑客之awk」百家号Lite小程序好好用啊,解决了我很多问题,赞!