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 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...
随机推荐
- 【BZOJ1477】青蛙的约会(拓展欧几里得)
[BZOJ1477]青蛙的约会(拓展欧几里得) 题面 题目描述 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为 ...
- 【洛谷2055】【CJOJ2487】【ZJOI2009】 假期的宿舍
题面 题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不 ...
- [BZOJ2298] [HAOI2011] problem a (dp)
Description 一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相同的分数) Input 第一行一个整数n,接下来n行每行两个 ...
- linux下tomcat 8的安装以及tomcat启动慢问题
今天在 linux 下安装了 tomcat,中间也是一路波折,最终安装好了.感觉应该有不少伙伴跟我一样都会踩到这些坑,打算记录下来.使用的是通用(ubantu,debian, centos 均可)的安 ...
- up61博客模版版本v1.0.0
经过两天的努力 终于把博客模板框架写出来了. 表示写模板累死了,很久没有写样式了,还是那么难搞.没有PHP写函数爽. 不管怎么样 第一版出来了.以下是部分截图.预览 当然在示例部署到项目上的时候 ,部 ...
- WebService下实现大数据量的传输
设置RemotingFormat = SerializationFormat.Binary;再序列化,通过WebService传输,客户端接收,再反序列化,确实效果大大的优于直接传送DataSet,不 ...
- css学习の第五弹—单位和值
一. >>1.颜色表示方法总结: 1.英文命令颜色 前面几个小节中经常用到的就是这种设置方法: p{color:red;} 2.RGB颜色 这个与 photoshop 中的 RGB 颜色是 ...
- WebStorm配置Vue开发环境
虽然最新版的前端开发利器WebStorm支持了Vue,但是大部分人的WebStorm依然是默认不支持Vue的老版本(比如之前的我),所以需要手动添加WebStorm对Vue的支持.要想让WebStor ...
- Attrib +s +a +h +r 隐藏文件原理与破解
制作了一个PE启动盘,不过这个启动盘不能深度隐藏,否则没效果,可以又想不让别人看见PE启动盘的一些内容,防止别人误删或者修改,于是就想找一种可以隐藏文件的方法,普通的隐藏文件的方法如下:
- C语言的隐式类型转换
看了一篇博文,该文章中有如下描述 #include <stdio.h> int main() { unsigned ; unsigned ; )) //a和b-1的结果-1都被转换为int ...