删除 bash 数组中最后一项的最后一个字符

删除 bash 数组中最后一项的最后一个字符

我有这样的数组:

Array={123},{456}

现在我想删除最后一项6

答案1

中的数组bash定义如下:

a=(foo bar baz)

或者:

a=([12]=foo [5]=bar)

( 中的数组bash更像是关联数组,其键仅限于正数,并且元素按数字排序)。

要删除具有最大键的元素的最后一个字符,使用最新版本的bash,您可以执行以下操作:

a[-1]=${a[-1]%?}

答案2

它不是一个数组,它只是一个名为 的变量Array。去除倒数第二个您可以使用该变量的字符进行子字符串扩展,例如:

$ Array={123},{456}
$ echo "${Array:0:${#Array}-2}${Array:${#Array}-1}"
{123},{45}

这里${#Array}表示变量字符串的字符数。

相关内容