awk 数组与函数
------
## 一:数组
`awk`可以使用关联数组这种数据结构,索引可以是数字或字符串。
`awk`关联数 组也不需要提前声明其大小,因为它在运行时可以自动的增大或减小。
### 1. 语法格式
```shell
array_name[index]=value
```
- array_name:数组的名称
- index:数组索引
- value:数组中元素所赋予的值
### 2. 创建数组
定义了一个站点(sites)数组,该数组的索引为网站英文简称,值为网站访问地址。
```bash
[root@wxin ~]# awk 'BEGIN {
sites["qfedu"]="www.qfedu.com";
sites["google"]="www.google.com"
print sites["qfedu"] "\n" sites["google"]
}'
www.qfedu.com
www.google.com
```
### 3. 访问数组
访问数组元素语法格式
```shell
array_name[index]
```
访问数组元素
```bash
[root@wxin ~]# awk -F: '{username[++i]=$1} END{print username[1]}' /etc/passwd
root
[root@wxin ~]# awk -F: '{username[i++]=$1} END{print username[1]}' /etc/passwd
bin
[root@wxin ~]# awk -F: '{username[i++]=$1} END{print username[0]}' /etc/passwd
root
```
按元数个数遍历
```bash
[root@wxin ~]# awk -F: '{username[x++]=$1} END{for(i=0;iv2?var=v1:var=v2
return var
}
BEGIN{a=3;b=2;print max(a,b)}
awk –f fun.awk
```