Como posso atribuir o último elemento de uma matriz a uma outra matriz?

0

Digamos que eu tenha uma matriz $ Info cujos elementos são;

!    total energy              = -1090.13343774 Ry
!    total energy              = -1090.20757070 Ry
!    total energy              = -1090.24296462 Ry
!    total energy              = -1090.25563488 Ry
!    total energy              = -1090.27085564 Ry
!    total energy              = -1090.27693129 Ry
!    total energy              = -1090.28213580 Ry
!    total energy              = -1090.29131927 Ry

e eu quero pegar o último elemento, dividi-lo com espaços e dar a um outro array $ LastInfo. Como posso fazer isso?

Eu tentei isso;

lst=$((${#Info[@]} -1))
IFS=' ' LastInfo=($en[$lst])

Mas, como postado em aqui , o código não funciona .

    
por onurcanbektas 04.06.2016 / 07:16

2 respostas

0

  1. Se sua matriz for chamada Info , e você está calculando o índice do último elemento de Info , não faz sentido usá-lo para indexar em en (um array diferente).
  2. Quando você faz o índice em uma matriz, você tem que usar chaves; não
       $en[$lst]
    mas
       ${en[$lst]}
por 04.06.2016 / 08:06
0

O que você provavelmente quer fazer é:

# given that $Info is a populated array..
Lastinfo=(${Info[-1]})

O espaço em branco já é um separador padrão, portanto, cada elemento separado por espaço da entrada da lista no array Info será uma entrada no novo array LastInfo .

    
por 04.06.2016 / 07:22

Tags