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 上一篇得到了"矩阵等价于变换后的基向量"这一结论. 本篇 ...
随机推荐
- 【BZOJ3143】游走(高斯消元,数学期望)
[BZOJ3143]游走(高斯消元,数学期望) 题面 BZOJ 题解 首先,概率不会直接算... 所以来一个逼近法算概率 这样就可以求出每一条边的概率 随着走的步数的增多,答案越接近 (我卡到\(50 ...
- Bzoj1176:Mokia&Cogs1752:[BOI2007]摩基亚Mokia
题目 Cogs 没有Bzoj的权限号 Sol 离线,\(CDQ\)分治,把询问拆成\(4\)个,变成每次求二位前缀和 那么只要一个修改操作(关键字为时间,\(x\),\(y\))都在这个询问前,就可以 ...
- Office 365 Connectors 的使用与自定义开发
前言 我相信很多人都看过<三国演义>,里面有很多引人入胜的故事和栩栩如生的人物,对我而言,曹操手下的一员猛将典韦实在让我印象深刻.例如,书中有一段描写典韦的作战经历: 时西面又急,韦进当之 ...
- 【linux之进程管理,系统监控】
一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...
- 如何在Win10下安装MySQL 5.7绿色版
一.背景 系统升级到Win10后准备在本地搭建一个MySQL环境,用于研究学习.在网上找了很多其他人写的经验总结,Step by step的做,不断的遇到问题,没有成功. 最后老老实实的去读Mysql ...
- AndroidStudio Frameworks detected: Android framework is detected in the project Configure
出现这个问题应该是文件没有用正确的方式打开. 遇到这种情况,就要去检查下载的这个包的结构. 我的这个文件明显真正的是下面这个文件夹,如果把整个当做一个android文件打开会导致文件结 ...
- Unity如何管理住Android 6.0 调皮的权限
前天我们项目有这么个需求,台湾版本由于要上谷歌Play要求安卓系统6.0以上的动态申请权限,对于一个做Unity的来说,是不是有点懵逼,这我该何去何从呢?我想静静,静静的想一想,权限也不就那么点事吗? ...
- 用user-selection实现让页面上的内容不能被选中
最开始发现这个功能是在陌小雨的博客中,然后自己百度发现用的是user-selection功能,之前网上有很多关于禁止右键,禁止复制,禁止粘 贴,禁止剪切等都弱爆了.这个功能正好使用到我的网站上啊,(你 ...
- lr11录制脚本出现中文乱码
录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选“Support charset”,然后选择中支持UTF-8.在IIS中找到Web.Config文 ...
- 面试题中遇到的算法与js技巧
近一周在忙着面试,本月第一次更博,甚是想念. 基本上大公司都会要求一些算法或者数据结构类的东西,这方面自己还不是很精通,只能一步一个脚印来积累了. 1.查询字符串获取对象数据,可自行根据需求选择格式, ...