zoukankan      html  css  js  c++  java
  • shell中的数组

    1. 数组的定义
    array=(v1 v2 v3)
    array1[0]=v1
    array1[1]=v2
    array1[2]=v3
    names=([0]=i [1]=f [2]=a [3]=n)
    
    1. 获取数组的长度
    echo ${#array[*]}
    echo ${#array[@]}
    # 数组的索引
    echo ${!array[@]}
    
    1. 数组元素删除
    unset array[2]
    
    1. 数组的遍历
    # 使用索引遍历
    for((i=0;i<${#array[*]};i++))
    do
        echo ${array[$i]}
    done
    # 直接遍历
    for i in ${array[@]}
    do
        echo $i
    done
    
    1. 数组切片
    $array
    $(array[0])
    ${array[@]}
    ${array[@]:1} # 从索引1到后面所有的值
    ${array[@]:0:3} # 从索引0取3位
    ${array[@]:(-2):2} # 从倒数第二个元素开始取两位
    
    1. 数组替换
    ${array[@]/x/y}     # 最小匹配替换,每个元素只替换一次
    ${array[@]//x/y}    # 最大匹配替换,每个元素可替换多次
    ${array[@]/x/}      # 最小匹配删除,只删除一个符合规定的元素
    ${array[@]//x/}     # 最大匹配删除,可删除多个符合规定的元素
    ${array[@]/#x/y}    # 从左往右匹配替换,只替换每个元素最左边的字符
    ${array[@]/%x/y}    # 从右往左匹配替换,只替换每个元素最右边的字符
    
    1. 堆栈
    # push 
    array=(${array[@]} 5)
    # pop
    array=(${array[@]:0:$((${#array[@]}-1))})
    
  • 相关阅读:
    TOMCAT热部署 catalina.home catalina.base
    spring boot test MockBean
    源码分析ConcurrentHashMap
    源码分析Thread
    源码分析String
    jvm 占用高的问题定位
    docker 资源限制
    数据库设计方案与优化
    linux搜索查找类命令|--grep指令
    linux搜索查找类命令|--locate命令
  • 原文地址:https://www.cnblogs.com/iFanLiwei/p/13099298.html
Copyright © 2011-2022 走看看