三剑客之一awk 之数组的学习

三剑客之一awk 之数组的学习

grepsedawk
过滤文档修改文档处理文本格式

1.什么是数组

具备某种特性的变量(数据)的集合就是数组

2.为什么要用数组

方便查找 方便查
方便有序的存放 方便存
普通数组下标整数
关联数组下标可以是字符

3.普通数组的定义

linux中分为:普通数组和关联数组
普通数组:列表
关联数组:字典
declare -a 查看当前数组
下标从0开始
1.普通数组直接定义:
    [root@localhost ~]# array=(zhang 18 man) 创建数组
    declare -a 查看当前数组	
    declare -a array='([0]="zhang" [1]="18" [2]="man")'
2.指定下标定义:
	[root@localhost ~]# array1=([2]='塞罗' [1]='190' [0]='haha')
	declare -a array1='([0]="haha" [1]="190" [2]="塞罗")'
3.依次赋值:
	先建一个空数组
    在数组名[下标]=4.使用命令:
	``里面加上命令
	[root@localhost ~]# array3=(`ls /root`)

4.访问数组

读取数组
1.通过变量
	[root@localhost ~]# echo $array        默认打印第一个值,下标为[0]的.
2.通过下标
	[root@localhost ~]# echo ${array[1]}       加一个大括号{}
3.反向取值
	[root@localhost ~]# echo ${array[-1]}       最后一个值下标为-1
4.取所有值
	[root@localhost ~]# echo ${array[*]}       *取所有

5.添加数组元素

通过下标
数组名[下标]=值 
添加元素如果这个下标存在 则覆盖, 若不存在则添加

6.删除数组元素

删除特定(指定)某一个数据
	unset删除数组指定下标的值
    declare -a array='([0]="zhang" [1]="18" [2]="man" [5]="16")'
	[root@localhost ~]# unset array[5]
    [root@localhost ~]# echo ${array[*]}
	zhang 18 man
删除所有数据
	后面直接跟数组名
	[root@localhost ~]# unset array
    

7.关联数组

定义	A
	[root@localhost ~]# declare -A array4=()
查询 A
	[root@localhost ~]# declare -A 
------------------------------------------------
	[root@localhost ~]# array4["故乡"]="上海"
    [root@localhost ~]# declare -A
    declare -A array4='([故乡]="上海" )'
和普通数组基本一致
posted @ 2021-10-08 18:14  迪迦张  阅读(30)  评论(0编辑  收藏  举报