arrays - 如何在bash中删除数组的最后一个元素?
问题描述
可以在此处找到从数组中删除元素的语法:从 Bash 数组中删除元素
此外,这里是如何找到数组的最后一个元素:https ://unix.stackexchange.com/questions/198787/is-there-a-way-of-reading-the-last-element-of-an-带有 bash 的数组
但是如何将它们(如果可能)混合在一起以删除数组的最后一个元素?
我试过这个:
TABLE_COLUMNS=${TABLE_COLUMNS[@]/${TABLE_COLUMNS[-1]}}
但它抛出:
错误的数组下标
解决方案
您可以使用unset
给定位置来删除数组的特定元素。
$ foo=(1 2 3 4 5)
$ printf "%s\n" "${foo[@]}"
1
2
3
4
5
$ unset 'foo[-1]'
$ printf "%s\n" "${foo[@]}"
1
2
3
4
推荐阅读
- python - 如何使用python使用列作为索引将多个csv文件连接成一个csv文件
- python - python中是否有任何方法可以自动更正单列excel文件的多行中的拼写错误?
- javascript - 亲子关系不正常
- javascript - 页面加载时自动按键
- google-apps-script - Google 表格到日历应用脚本 ColorId
- angular - 尝试使用 Angular firebase 创建 docReference
- node.js - ES6 Set 在简单的 Express Node.js 应用程序中不起作用
- c++ - 此错误:“C6262:函数使用'1600000620'字节的堆栈:超出/分析:stacksize'16384'。考虑将一些数据移动到堆”
- sql - While 循环 SQL Server
- sql-server - 选择值为最大值的行,并且一列为空