1.awk简介
1. awk以记录和字段的方式来查看文本文件
2. 和其他编程语言一样,awk包含变量、条件和循环
3. awk能够进行运算和字符串操作
4. awk能够生成格式化的报表数据
2.awk概述
awk程序awk命令、括在括号(或写在文件)中的程序指令以及输入文件的文件名几个部分组成。如果没有输入文件,
输入则来自于标准输入。
awk指令由模式、操作或者模式与操作的组合组成。模式是由某种类型的表达式组成的语句。如果某个表达式中没有
出现关键在if,但实际在计算时却暗含if这个词,那么这个表达式就是模式。操作由括在大括号中的一条或多条语句组成,
语句之间用分号或者换行符隔开。模式不能括在大括号中,模式由包括在两个正斜杠之间的正则表达式、一个或多个awk操作
符组成的表达式组成。
格式:
awk '/search pattern1/ {Actions}
/search pattern2/ {Actions}' file
3.工作原理
1. awk使用一行作为输入(通过文件或者管道),并将这一行赋给内部变量$0
2. 行被空格分解为字段(单词),每一个字段存储在已编号的变量中,从$1开始。(awk的内部变量FS用来确定字段
的分隔符。初始时,为空格,包含制表符和空格符)
3. 对于一行,按照给定的正则表达式的顺序进行匹配,如果匹配则执行对应的Action ,如果没有匹配上则不执行任何
动作 ,Search Pattern 和 Action 是可选的,但是必须提供其中一个 。如果 Search Pattern 未提供,
则对所有的输入行执行Action 操作。如果Action 未提供,则默认打印出该行的数据 。{} 这种 Action 不做
任何事情,和未提供的 Action 的工作方式不一样
4. 打印字段,用print、printf、sprintf,格式: { print $1, $3 } 内部变量output field separator
(OFS),默认为空格,$n之间的逗号被OFS中的字符替换。
5. 输出之后,从文件中另取一行,并将其复制到$0中,覆盖原来的内容。重复进行……

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code