首页 > 系统相关 >shell脚本中对数组的操作汇总

shell脚本中对数组的操作汇总

时间:2023-07-19 19:35:15浏览次数:28  
标签:脚本 arr shell val 元素 汇总 echo 数组

方法用例备注
创建数组
arr=(val_1 val_2 val_3)
数组间的元素以空格分割。
创建空数组
arr_new=()
访问数组
arr=(val_1 val_2 val_3)
echo "${arr[0]}"
数组的索引从“0”开始,在这个例子中,脚本会输出“val_1”。
访问数组的长度
arr=(val_1 val_2 val_3)
echo "${arr[@]}"
在这个例子中,脚本会输出“3”。
遍历数组
arr=(val_1 val_2 val_3)
for item in "${arr[@]}"; do
  echo "$item"
done
在这个例子中,脚本会依次输出:val_1 val_2 val_3
添加元素
arr=(val_1 val_2 val_3)
arr[4]="val_4"
通过索引在指定位置定义。
追加元素
arr=(val_1 val_2 val_3)
arr+=("val_4")
相当于拼接了一个单元素的数组。
删除数组元素与数组
arr=(val_1 val_2 val_3)
unset arr[1]
unset arr
通过索引删除数组元素,不需要$符号。
数组切片
arr=(val_1 val_2 val_3)
echo "${arr[@]:1:1}"
类似字符串切片,在这个例子中,脚本会输出“val_2”
拼接数组
arr=(val_1 val_2 val_3)
arr_2=(val_4 val_5 val_6)
arr_3=(val_7 val_8 val_9)
arr+=("${arr_2[@]}""${arr_3[@]}")
使用字符串索引
declare -A arr=(
    [key_1]=val_1
    [key_2]=val_2
    [key_3]=val_3
)
数组间的元素以空格分割。

如果有遗漏的地方,还请在评论区指出。

标签:脚本,arr,shell,val,元素,汇总,echo,数组
From: https://www.cnblogs.com/-zyyz-/p/17566491.html

相关文章

  • 怎么遍历Java中可变数组
    如何遍历Java中的可变数组在Java中,可变数组是一种动态大小的数组,也称为动态数组或ArrayList。它可以根据需要自动调整大小,因此非常方便。遍历可变数组是经常使用的操作之一,本文将介绍如何遍历Java中的可变数组,并提供相应的代码示例。问题描述假设我们有一个可变数组,包含了一组学......
  • SQL优化汇总
    前言 SQL优化经验的考察。一提到数据库,先“说一说你对SQL优化的见解吧?”。SQL优化已经成为衡量程序猿优秀与否的硬性指标,有朋友疑问到,SQL优化真的有这么重要么?如下图所示,SQL优化在提升系统性能中是:(成本最低&&优化效果最明显)的途径。优化成本:硬件>系统配置......
  • webpack配置externals汇总
    [email protected]@[email protected]@[email protected]用于提取第三方依赖包,使用cdn资源的方式将第三方依赖包引入项目,可以大大减少项目打包体积配置externals对象有技巧:key就是importaaafrom'bbb'中的bbbvalue可以在引入c......
  • 一维数组之冒泡排序
    从b站上黑马程序员的C++课里学到的冒泡排序 1#include<iostream>2usingnamespacestd;3intmain()4{5intarr[6]={2,4,1,6,7,3};6for(inti=0;i<6;i++)//数组遍历7{8cout<<arr[i]<<"";9}1......
  • 数组
    一、数组1、数组的定义1)数组是相同类型数据的有序集合2)数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成3)每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问 2、数组的声明创建1)必须先声明数组变量,才能在程序中使用数组。声明数组变量的语......
  • 【Javascript】数组扩展方法:根据key重新分组
    1//数组扩展:根据key重新分组2//field:按什么字段分组3Array.prototype.GroupByKey=function(field)4{5varoriginalArr=this6lettempArr=[]7letresultData=[]8for(leti=0;i<originalArr.length;i++)9{10......
  • shell subsitute替换分割符
     sed awk - s - 是替换(substitute)命令- #keyword# -匹配 keyword 字符串,使用`#`作为分隔符- #replacement1# -将匹配到的字符串替换为 replacement1- g -全局(global)标志,表示替换所有匹配,不止替换第一处使用`#作为分隔符的好处是,可以避免正斜杠/......
  • 08-数组
    数组介绍数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用数据类型。即:数组就是一组数据。 ......
  • 2023-07-18:给你一个正整数数组 nums,请你移除 最短 子数组(可以为 空), 使得剩余元素的 和
    2023-07-18:给你一个正整数数组nums,请你移除最短子数组(可以为空),使得剩余元素的和能被p整除。不允许将整个数组都移除。请你返回你需要移除的最短子数组的长度,如果无法满足题目要求,返回-1。子数组定义为原数组中连续的一组元素。输入:nums=[3,1,4,2],p=6。输出:1。答......
  • 2023-07-18:给你一个正整数数组 nums,请你移除 最短 子数组(可以为 空), 使得剩余元素的 和
    2023-07-18:给你一个正整数数组nums,请你移除最短子数组(可以为空),使得剩余元素的和能被p整除。不允许将整个数组都移除。请你返回你需要移除的最短子数组的长度,如果无法满足题目要求,返回-1。子数组定义为原数组中连续的一组元素。输入:nums=[3,1,4,2],p=6。输......