zoukankan      html  css  js  c++  java
  • shell 数组操作

    1. 定义数组:

      var_array=(one two three four five)

    2.常用操作

      获取数组长度: ${#var_array[@]}

      获取所有数组元素:  ${var_array[@]} or  ${var_array[*]} 

      获取第一个数组元素:${var_array[0]}   数组下标从 0 开始。

      数组元素字符替换:${var_array[@]/x/y}  #最少替换,用y替换x

      数组元素字符替换:${var_array[@]//x/y}  #最多替换,用y替换x

      数组元素删除: "#"  每个元素,从左向右进行最短匹配  ,"##" 最长匹配

      数组元素删除: "%"  每个元素,从右向左进行最短匹配  ,"%%" 最长匹配

    例子:

    #!/bin/bash
    
    
    ## 定义一个空数组
    var_array=()
    
    ## 数组赋值,数组下标从 0 开始
    var_array=(china beijing shanghai sshenzhen nanjingg)
    
    ## 打印全部数组元素 ${var_array[@]} 或者 ${var_array[×]}
    echo "数组元素是:${var_array[@]}"
    
    ## 打印数组元素个数
    echo "数组总数是:${#var_array[@]}"
    
    ## 数组遍历
    for ((i=0;i < ${#var_array[@]}; i++))
    do
    echo "第${i}个数组元素是: ${var_array[i]}"
    done
    
    ## 数组切片
    echo "打印第二个元素之后的所有元素:"${var_array[@]:1}""
    echo "打印第一个元素到第三个元素:${var_array[@]:0:3}"
    echo "打印倒数第二个元素开始打印,打印2个元素:${var_array[@]:(-2):2}"
    
    ## 根据现有数组,得到一个新数据
    new_var_array=()
    new_var_array=${var_array[@]:0:3}
    echo "新数组是:${new_var_array[@]}"
    
    
    ## 数据替换
    ## ${array[@]/x/y}     最小匹配替换,每个元素只替换一次
    ## ${array[@]//x/y}    最大匹配替换,每个元素可替换多次
    
    echo "将i替换xo,一个元素只替换一次:${var_array[@]/i/xo}"
    echo "将i替换xo,一个元素替换多次次:${var_array[@]//i/xo}"
    echo "将i替换空,一个元素替换多次次:${var_array[@]//i/}"
    
    ## 数组删除
    ## "#"  每个元素,从左向右进行最短匹配
    ## "##" 每个元素,从左向右进行最长匹配
    ## "%"  每个元素,从右向左进行最短匹配
    ## "%%" 每个元素,从右向左进行最长匹配
    
    echo "将s开头的字符,单个删除:${var_array[@]#s*}"
    echo "将s开头的字符,全部删除:${var_array[@]##s*}"
    echo "将s开头的字符,全部删除:${var_array[@]%*g}"
    echo "将s开头的字符,全部删除:${var_array[@]%%*g}"
    View Code

    结果截图:

  • 相关阅读:
    蓝屏代码stop:0X000000EA(0X85E286B8,0X8635F210,0XF7A53CBC,0X00000001)
    SAP HR 复制PA30的人员
    ABAP OO 开发语法整理
    ABAP制作密码输入框
    Basis 基础
    Excel 文件下载
    SAP 锁机制
    SE16传输配置表数据
    FastAdmin bootstrap-table 分页手动输入跳转
    FastAdmin 的 url 有一个 ref=addtabs 是怎么添加的?
  • 原文地址:https://www.cnblogs.com/kimbo/p/7055257.html
Copyright © 2011-2022 走看看