awk:是一种优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言的最大功能取决于一个人所拥有的知识。awk命名:Alfred Aho Peter Weinberger和brian kernighan三个人的姓的缩写。 
最简单地说, AWK 是一种用于处理文本的编程语言工具。 
任何awk语句都是由模式和动作组成,一个awk脚本可以有多个语句。模式决定动作语句的触发条件和触发时间。

awk编程基础及进阶
学习内容:
字段(域)与记录、模式匹配、基本的awk执行过程、awk常用内置变量(预定义变量)、awk数组(工作常用)
awk 选项:-F 指定域分隔符
awk格式:
1、查看awk版本:awk -version
工作中,常用gawk
2、awk指令:是由模式、动作,或者模式和动作的总和组成
格式:awk [options] 'pattern {action}'
pattern模式:可以理解为:找谁
action动作:可以理解为:干什么
3、awk执行过程
awk是一行一行的处理文件,这条命令中包含模式部分(条件)和动作部分,awk将处理模式指定的行

awk执行:
1、awk读取第一行
2、判断是否符合模式中的条件
如果匹配则执行对应的动作
如果不匹配,继续读取下一行
3、继续读取下一行
4、重复过程1-3,直至文件结束

4、awk内须知内置变量

记录:行 域:列
$ 取,取用内部信息
$0 代表当前的一整行,一条记录
$NF:代表最后一个区域的值
$1--$n $数字:代表第n个域
FS:一行记录的各域间的分隔符
NS:每行记录切割符,域间的分隔符
NR:代表行数(记录号),默认一行对应一个记录,读取新行时会自动加1
NF:最后一个域号,标识当前行有几个域
RS:记录的分隔符,简单理解为可以指定每个记录的结尾标识

5、正则表达式

^ 匹配以什么开头的行 记录 如:‘^bash’
$ 匹配以什么结尾的记录 如:‘bash$’
+ 重复一次或一次以上
~(匹配) / !~(不匹配) 用于对记录或字段的表达式进行匹配 如:$1~ 第一个域匹配
* 重复前一个字符0次或多次 a*cool 匹配0或多个a
[] 匹配[]内任何一个字符 [abc]、[a-z]
. 匹配任意一个字符(包括回车) a.
匹配前面的字符0次或一次 如:a?b 匹配ab或b

如:awk ‘$NF~/^bash’ /etc/passwd 最后一个域匹配以bash开头的行

a、/正则表达式开始/,/正则表达式结束/
如:awk '/root/,/mysql/' file2 显示file2文件中root第一次出现到MySQL第一次出现的行
b、$1~/正则表达式开始/,$3~/正则结束/
\{m,\}:匹配前面字符至少m次
\{m\}:匹配正好m次
\{m,n\}:匹配最少m次,最多n次

6、begin模块:在读取文件前就做的操作,一般用于初始化条件的设置
end模块:读取完所有的文件时才做的最后工作
{}:内部写读取文件时进行的操作,用来遍历整个文件,类似于awk的迭代器
awk格式:awk 'BEGIN{初始化}{文件操作}END{结束操作}'
awk 'BEGIN{coms} /pattern/{coms} END{coms}' filename
awk使用;分隔多个命令

7、awk案列

(1)file2中,以:为分隔符,区域3大于15的行的数目?
awk -F ":" '$3>15{a=a+1}END{print a}' file2
注:a=a+1 === a++ === a+=1
(2)用awk输出1+2+.....+100的值
awk 'BEGIN{for(i=1;i<=100;i++) sum+=i; print sum}'

8、awk数组:数组名[处理字串]=“值” (arrayname[string]=value)

awk数组下标:可以是数字、字母、字符串
输出数组:for(key(变量) in array) key是元素名
print key,array[key]
(1)awk统计每个IP的访问量
array[192,168.224.10]++

Linux三剑客之一 awk相关推荐

  1. linux三剑客之awk命令详解

    linux三剑客之awk命令详解 awk 是一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件.数据排序.计算以及生成报表等等.awk工具主要用于格式化输出,可以用类似于处理表格的方式处理文 ...

  2. linux三个冒号加端口,不看绝对后悔的Linux三剑客之awk实战精讲

    一.Linux三剑客之awk命令精讲 第1章 awk基础入门 1.1 awk简介awk不仅仅时linux系统中的一个命令,而且是一种编程语言,可以用来处理数据和生成报告(excel).处理的数据可以是 ...

  3. Linux三剑客之awk详解

    第一篇 awk简介与表达式实例 一种名字怪异的语言 模式扫描和处理,处理数据和生成报告. awk不仅仅是linux系统中的一个命令,而且是一种编程语言:它可以用来处理数据和生成报告(excel):处理 ...

  4. 利器 | 测试必会之 Linux 三剑客 ( grep / awk / sed )

    本文为霍格沃兹测试学院优秀学员课程学习系列笔记,想一起系统进阶的同学文末加群交流. Linux 给人的印象是黑乎乎的神秘窗口,文本操作和数据处理似乎没有 Windows 窗口界面直观方便.其实Linu ...

  5. 深入浅出linux三剑客之awk必杀技一例

    缘起:上完第三节培训课后,同学们群内讨论氛围相当的好,那么就再给大家一点惊喜,希望大家继续加油努力,达到你们的第一阶段薪水目标. 老男孩linux培训第三节课程课前第考试三题,问题如下: 3.请执行命 ...

  6. linux三剑客之awk必杀技一例   linux命令

    []:有框表示从最开始计算(小分隔符),否则从数据开始计算, 无[] +:加号则从最开始计算,否则从数据开始计算 [] +: 加号则从最开始计算,否则从数据最开始计算 请执行命令取出linux中eth ...

  7. Linux三剑客之awk最佳实践

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 知识点: 记录与字段 模式匹配:模式与动作 基本的awk执行过程 awk常用内置变量(预定义变量) awk数组 a ...

  8. awk 匹配_详解Linux三剑客之awk

    第一篇 awk简介与表达式实例 一种名字怪异的语言 模式扫描和处理,处理数据和生成报告. awk不仅仅是linux系统中的一个命令,而且是一种编程语言:它可以用来处理数据和生成报告(excel):处理 ...

  9. LINUX 三剑客之awk

    一 概述 AWK是一种处理文本文件的语言,是一个强大的文本分析工具.它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描.过滤.统计汇总工作数量,可以来自标准输入也可以是管道或文件 20世纪 ...

最新文章

  1. 顶配12699 元、没有5G,“浴霸三摄”的iPhone你会买吗?
  2. linux grunt环境,安装 Grunt - Grunt: JavaScript 世界的构建工具 | Grunt 中文网
  3. C++第10周项目2扩展之2参考——迭代求和
  4. 【Python 脚本报错】AttributeError: 'module 'yyy' has no attribute 'xxx'的解决方法
  5. win2003 ent 64 + mssql ent 64
  6. 用Python标记识别人脸制作镂空图案的“笑脸”照片墙
  7. 一个九号mini平衡车电池修复过程
  8. 计算相关系数进行显著性检验
  9. 各种数据库之间数据迁移工具
  10. html5调用 扫码枪,js读取usb扫码枪数据功能代码实现
  11. CTPN OCR目标检测及源码
  12. 秋招(2014.9起)
  13. 读书笔记:谁都可以进外企
  14. 【Day2.2】海边行宫忘忧宫——“爱与希望”之宫
  15. android app与gprs通信,gprs连接管理app
  16. 计算机如何与光猫连接网络,路由器怎么连接猫和电脑 路由器连接详解【图文】...
  17. 腾讯 Code Review 规范出炉,你还敢乱写代码?
  18. 如何使用Mixins?mixins混入使用方法
  19. SQL 查询当前时间
  20. 163邮箱自动化登录实现模块化【2】

热门文章

  1. 手游跑跑卡丁车服务器维护,跑跑卡丁车手游登陆不了怎么办_跑跑卡丁车手游登陆不了解决方法_游戏吧...
  2. 出色的领导者 多普达智能最新旗舰830评测
  3. css-样式 transform旋转效果
  4. jar文件运行时:Failed to load Main-Class manifest attribute from ......解决办法
  5. Win2008 R2服务器入站规则和安全策略简介
  6. 英雄远征Erlang源码分析(2)-网关服务器的启动
  7. 【网络是怎么连接的】—— 1.2 向 DNS 服务器查询 Web 服务器的 IP 地址
  8. 计算机维修活动新闻稿,【自主维修】“自主维修”我们在行动——记热力作业部全力开展自主维修...
  9. 深度学习服务器怎么选?哪个更划算?
  10. The Joy of Living 生活的乐趣