将awk中常用的通用语法整理成思维导图,供平时参考查看。
在线思维导图地址:https://www.processon.com/view/link/606ab160f346fb0aa985e1ea
密码:J2XE
awk思维导图.png
画图花费的时间太长,实在没时间整理成文档了,主要还是看图,有时间再整理具体文档。
awk语法和markdown的关键字有不少冲突,这里粘贴部分规则:
内置变量
| 变量名 | 说明 |
|---|---|
| NR | (Number of Records):当前处理的文本行的行号 |
| FNR | (File Number of Records):各文件分别计数的行号 |
| FS | (Field Separator):输入列分隔符,默认"空格" |
| OFS | (Out Field Separator):输出列分隔符,默认"空格" |
| RS | (Record Separator):输入行分隔符,默认"\n" |
| ORS | (Output Record Separator):输出行分隔符,默认"\n" |
| FILENAME | 显示内容对应文件名 |
| ARGC | 命令行参数的个数 |
| ARGV | 数组,保存的是命令行所给定的各参数。 |
| NF | (Number of Fields):行的列数 |
| $0 | 整行 |
Action支持表达式
| 语法 | 说明 |
|---|---|
| if(条件1){xxx}else if(条件2){xxx}else{xxx} | |
| for(初始化;布尔判断;变更){xxx} | |
| for(变量 in 数组){xxx} | |
| while(布尔表达式){xxx} | |
| do{xxx}while(布尔表达式) | |
| 表达式?true时执行:false时执行 |
跳出循环
| 语法 | 说明 |
|---|---|
| exit | 结束awk命令(除了END模式) |
| next | 结束当前行 |
内置函数
| 语法 | 说明 |
|---|---|
| int | 截取数字整数部分的值 |
| rand、srand | 生成随机数 |
| gsub | 字符串全局替换 |
| sub | 字符串单此替换 |
| length | 获取字符串长度 |
| index | 获取字符串位置 |
| split | 拆分字符串为数组 |











网友评论