将awk中常用的通用语法
整理成思维导图,供平时参考查看。
在线思维导图地址:https://www.processon.com/view/link/606ab160f346fb0aa985e1ea
密码:J2XE

画图花费的时间太长,实在没时间整理成文档了,主要还是看图,有时间再整理具体文档。
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 | 拆分字符串为数组 |
网友评论