awk应用
概念:
awk是一个数据处理工具!相较于sed是对一整行的处理 ,而awk则是比较倾向于 把一行分成多个字段来处理
在linux 中常用的是gwak ,awk是gawk的链接文件
awk语法格式:
awk [-F] ‘BEGIN{ print … } 匹配规则{ 命令 } END{ print … }’ filename
其中BEGIN和END 是awk的关键字 因此必须大写 ;两个部分是可选的可以写也可以不写
(BEGIN和END 都只执行一次)
awk的工作过程:
awk的变量
awk自定义变量
1、-v varname=value 变量
例如:
2、在awk{直接定义变量}
例如:
3、引用 命令行定义的变量
awk内置变量
$n 代表当前行的第n个字段
$0 代表当前行的全部文本
FILENAME 当前输入文件的名字
FS 代表分隔符(默认是空格)
NF 表示字段数
NR 表示当前的行号
FNR 表示各文件分别计数行号 (如果扫描多个文件的行号用FNR会单独统计不会连接在一起)
(如果打印偶数行 NR%2==0就可以了)
数组
数组是一个包含一系列元素的集合
格式
abc[1]=”xiaohong”
abc[2]=”xiaolan”
abc就是数组名 【1】就是数组的下标 “xiaohong”就是数组的元素内容
(使用字符串作下标要用双引号)
删除数组元素
delete abc[1] 就是删除abc数组中下标为1的元素