Exclui o último caractere do último item em uma matriz bash

0

Eu tenho essa matriz:

Array={123},{456}

Agora quero excluir o último item 6 .

    
por nottinhill 21.01.2015 / 12:24

2 respostas

5

Arrays em bash são definidos como:

a=(foo bar baz)

Ou:

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

(matrizes em bash são mais como matrizes associativas com chaves limitadas a números positivos e com elementos ordenados numericamente).

Para excluir o último caractere do elemento com a maior chave, com as versões recentes de bash , você faria:

a[-1]=${a[-1]%?}
    
por 21.01.2015 / 12:46
1

Não é uma matriz, é apenas uma variável chamada Array . Para remover o próximo ao último caractere dessa variável, você pode reproduzir com a expansão da substring, por exemplo:

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

Aqui ${#Array} indica o número de caracteres da variável string.

    
por 21.01.2015 / 12:38

Tags