bash - 在 Bash 中的某个索引处插入一个元素
问题描述
我在 bash 中有一个数组,它被声明为
string='var1/var2/var3';
IFS='/' read -r -a array <<< $string
所以数组是["var1", "var2", "var3"]
我想在指定索引处添加一个元素,然后移动已经存在的其余元素。
所以结果数组变为
["var1", "newVar", "var2", "var3"]
我一直在尝试使用 and 循环来做到这一点,但我觉得有一些更好的“bash”方式来做到这一点。该数组可能不是固定长度的,因此它需要是动态的。
解决方案
你可以试试这个:
declare -a arr=("var1" "var2" "var3")
i=1
arr=("${arr[@]:0:$i}" 'new' "${arr[@]:$i}")
echo "${arr[@]}"
结果将是:
var1 new var2 var3
更多细节:如何在 Bash 中对数组进行切片
推荐阅读
- python - pandas:我怎样才能得到我想要的行的数据?
- javafx - JavaFX:阶段为空
- scala - 更改 Rw Spark scala 的 getValuesMap
- symfony - LiipImagine 过滤器在部署的 symfony 5 站点上不起作用
- c - 如何从文本文件中读取像“10:55”这样的时间,以便我们可以用 C 编程语言进行计算?
- r - 如何计算每一行的整数个数?
- javascript - 你如何在反应中使用和改变innerHTML?
- excel - 将属性传递给用户定义的函数
- java - 关于 JSP 和 SQL 的问题。Java 网络应用程序
- swiftui - 在 SwiftUI 中组合异步返回值