AWK读书笔记
1.awk 'parttern {action}' filename
从文件中逐行读取并匹配parttern,若匹配成功执行action否则读取下一行.
parttern和action都可选,若省略parttern则对每行都执行action.BEGIN和END不能省略action.
parttern {action}语句,及action内的语句通常用换行符分隔,若干语句在同一行时用分号分隔.
左大括号{必须与parttern在同一行,右大括号}位置不限.其中的空行被忽略.
空格与制表符可以成对出现在运算符与操作数周围以提高可读性.
注释任一行.
2.当前输入行的第一个字段为$1,第二个字段为$2...当前行为$0.字段默认分隔符为空格或制表符.
3.在print语句中默认以逗号分隔表达式,{print $1,$2}
4.内置变量不需通过$引用
NF:Number of Field,每行的字段数.$NF可以表示最后一个字段值.
NR:Number of Record,到目前为止读取到的记录(行)数.
FNR:当前输入文件的记录个数.
FS:Field Separator,(输入行)字段分隔符.默认为空格.
OFS:Output Field Separator,输出行字段分隔符.默认为换行符(\n).
RS:Record Separator:输入行分隔符.默认为换行符.
ORS:Output Record Separator:输出行分隔符.默认为空格.
ARGC:命令行参数的个数.
ARGV:命令行参数数组.
FILLENAME:当前输入文件名.
OFMT:数值的输出格式,默认为%.6g
RLENGTH:被函数匹配的字符串的长度.
RSTART:被函数匹配的字符串的开始.
SUBSEP:下标分隔符.默认为\034.
5.parttern汇总
BEGIN {action}:在输入行被读取之前执行action一次.
END {action}:在输入行读取完成之后执行action一次.
expression {action}:若expression为真则输入行执行action,否则跳过.
/regexpr/ {action}:若输入行匹配正则表达式则执行action,否则跳过.
compexpr {action}:若复合表达式(由&&、||、!、())为真则输入行执行action,否则跳过.
parttern1,parttern2 {action}:对匹配parttern1开始到匹配parttern2结束的其间所有行(含这两行)执行action.若parttern2未匹配则从parttern1到末行执行action.
BEGIN和END不与其他模式组合,一个范围模式不能是其他模式的一部分.
6.BEGIN常用来更改FS,或打印标题.END用来输出计算结果.
7.比较运算符
< 小于
<= 小于等于
== 等于
!= 不等于
大于
= 大于等于
~ 匹配
!~ 不匹配
8.字符串匹配模式:测试一个字符串是否包含一段可以被正则表达式匹配的子字符串.
/regexpr/:当前输入行包含一段能够被rexexpr匹配的子字符串时该模式被匹配.
expression ~ /regexpr/:若expression的字符串值包含一段能被rexexpr匹配的子字符串时该模式被匹配.
expression !~ /regexpr/:若expression的字符串值不包含一段能被rexexpr匹配的子字符串时该模式被匹配.
9.action汇总
expression:常量,变量,赋值,函数调用等
print expression-list
printf(format,expression-list)
if (expression) statements
if (expression) statements else statements
for (expression1;expression2;expression3) statements
for (expression in array) statements
while (expression) statements
do statements while (expression)
break
continue
10.内建算术函数--P36未完待续
AWK读书笔记的更多相关文章
- Java并发编程的艺术读书笔记(1)-并发编程的挑战
title: Java并发编程的艺术读书笔记(1)-并发编程的挑战 date: 2017-05-03 23:28:45 tags: ['多线程','并发'] categories: 读书笔记 --- ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
- LOMA280保险原理读书笔记
LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记2
<3D Math Primer for Graphics and Game Development>读书笔记2 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...
随机推荐
- 【BZOJ1501】【NOI2005】智慧珠游戏(搜索)
[BZOJ1501][NOI2005]智慧珠游戏(搜索) 题面 我要一改我懒惰的作风 这道题目必须放题面 Description Input 文件中包含初始的盘件描述,一共有10行,第i行有i个字符. ...
- Bzoj1901 Dynamic Ranking
动态区间第k小 离散化后 那么每个点开一棵线段树(主席树)再套一个树状数组在外面 每次询问区间内的树的个数时 相当于进行了一次树状数组求区间和的操作,只是是把树状数组那个点看做主席树,对log棵主席树 ...
- java微信公众号开发token验证失败的问题及解决办法
本文引自http://m.blog.csdn.net/qq_32331997/article/details/72885424 微信公众平台服务器配置时,需要引入token,但是提交的时候总是提示to ...
- Unity3D 动画状态简单控制核心代码
状态机是这样的 包含静止.跑.攻击.死亡四个动画 下面是核心代码(PS:代码高亮插件出问题了,将就看一下吧..) AnimatorStateInfo stateInfo = m_ani.GetCurr ...
- python全栈开发-Day3 字符串
python全栈开发-Day3 字符串 一.按照以下几个点展开字符串的学习 #一:基本使用 1. 用途 #首先字符串主要作用途径:名字,性别,国籍,地址等描述信息2.定义方式 在单引号\双引号\三引 ...
- spring+springMVC 整合 MongoDB 实现注册登录
发现一入手 MongoDB,便无法脱离,简要说一下,MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 也是在 Nosql 中我最喜欢的一种 ...
- 理解Spring中的IOC和AOP
我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂模式和代理模式 IOC就是典型的工厂模式,通过ses ...
- python全栈开发-Day5 元组、字典
python全栈开发-Day5 元组.字典 一.前言 首先,不管学习什么数据类型,我们都带着以下几个问题展开学习: #1:基本使用 1 .用途 2 .定义方式 3.常用操作+内置的方法 #2:该类型 ...
- 记录一则enq: TX - row lock contention的分析过程
故障描述:与客户沟通,初步确认故障范围大概是在上午的8:30-10:30之间,反应故障现象是Tomcat的连接数满导致应用无法连接,数据库alert中无明显报错,需要协助排查原因. 1.导入包含故障时 ...
- 读取pdf内容分页和全部
//读取pdf 全部内容public static String topdffile(String pdffile){ StringBuffer result = new StringBuffer() ...