美文网首页
shell数组使用

shell数组使用

作者: 剑雪封侯之 | 来源:发表于2020-03-26 01:16 被阅读0次

目前shell支持一维数据。可使用如下方式进行定义:

array[0]=22
array[2]=44

shell数组说明:
1、数据成员不一定必须是相连的,未定义的取值为空
2、数组下标由0开始

shell数组赋值

# 方式1
array[0]=11
array[3]=44
array[5]=77

# 方式2
array=(one two three four five)

# 方式3
array=([0]=one [1]=two [4]=five)

shell取值

# 获取第0个元素的值
echo ${array[0]}

# 获取第0个元素的长度
echo ${#array[0]}

# 获取数组中的元素个数
echo ${#array[*]}
echo ${#array[@]}

shell元素提取

格式:${array[*]:start_idx:num},其中,start_idx表示开始的下标,num表示多少个元素

# 提取所有元素
echo ${array[*]:0}

# 提取索引3后的所有元素
echo ${array[*]:3}

# 提取索引3后的2个元素
echo ${array[*]:3:2}

删除子元素匹配

#删除最短的模式匹配
array=(one two three four five two)
echo ${array[@]#t*e}  # 输出为one two e four five

#删除最长的模式匹配
echo ${array[@]##t*e} #输出为one two four five two

#删除最短的尾匹配
echo ${array[@]%i*e} #输出为one two three four f two

#删除最长的尾匹配
echo ${array[@]%%f*e} #输出为one two three four two

替换子元素

替换第一个匹配的语法:${array[@]/pattern/dst_value}
替换所有匹配的语法:${array[@]//pattern/dst_value},如果dst_value为空,表示删除匹配的串
替换头匹配的语法:${array[@]/#pattern/dst_value}
替换尾匹配的语法:${array[@]/%pattern/dst_value}

如:

array=(one two three five)
echo ${array[@]/#o/aaa} #输出aaane two three five
echo ${array[@]/%o/aaa} #输出one twaaa three five
echo ${array[@]/o/aaa} #输出aaane twaaa three five

相关文章

  • 使用shell脚本

    使用方式 shell 变量 shell 字符串操作 shell 数组 shell 注释 shell 命令行参数 s...

  • [LN_12] Shell编程-Shell数组的定义&使

    目录结构 一、Shell数组的定义&使用 Bash Shell只支持一维数组,不支持多维数组。数组中可存放多个值,...

  • Linux Shell 动态生成 数组系列 Seq 使用技巧

    Linux Shell 动态生成 数组系列 Seq 使用技巧 如果对linux shell 数组不是很熟悉的话,请...

  • shell数组使用

    目前shell支持一维数据。可使用如下方式进行定义: shell数组说明:1、数据成员不一定必须是相连的,未定义的...

  • shell数组使用

    #读配置文件初始化全局变量while read linedoif [ -z "$line" ]then conti...

  • shell array

    Shell数组变量 【拓展 1星】 普通数组:只能使用整数作为数组索引关联数组:可以使用字符串作为数组索引 一...

  • 每天学习一个shell 技能 (2)

    每天学习一个shell 技能 (2) Shell 数组 定义数组 读取数组 获取数组的长度 Shell 注释 以"...

  • Shell 数组与数学运算

    参考书籍 Linux shell 脚本攻略 数组和关联数组 数组分类普通数组:只能使用整数作为数组索引。关联数组:...

  • Linux Shell:Shell数组操作

    摘要:Linux,Shell Shell数组类型 Shell数组分为普通数组和关联数组,普通数组就是相同类型的元素...

  • shell数组

    shell数组 定义 数组的操作 我们使用数值类型数组arr_number=(1 2 3 4 5)做为源数组进行相...

网友评论

      本文标题:shell数组使用

      本文链接:https://www.haomeiwen.com/subject/flafuhtx.html