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。削除する最後から2番目部分文字列の拡張には、この変数の文字を使用できます。たとえば、次のようになります。

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

これは${#Array}変数文字列の文字数を示します。

関連情報