shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Tentando imprimir o conteúdo de um vetor, cujo nome t


From: Paulo Bettega
Subject: Re: [shell-script] Tentando imprimir o conteúdo de um vetor, cujo nome tem uma variável.
Date: Mon, 18 May 2015 14:00:35 -0300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

Olá andelnyr, entendi o negócio assim.

while read linha;do
        echo
        eval v_${linha%% *}=\(${linha#* }\)
        eval echo '\${v_'${linha%% *}'[*]}' = \${v_${linha%% *}[*]}

        for i in $(seq 1 $(eval echo \${#v_${linha%% *}[*]}));do
                let --i
                eval echo '\${v_'\${linha%% *}\[$i\]\} = \${v_${linha%% *}[\$i]}
        done

done <<<'equip1 aa bb cc dd ee
equip2 ba bb bc bd be
equip3 ca cb cc cd ce'


${v_equip1[*]} = aa bb cc dd ee
${v_equip1[0]} = aa
${v_equip1[1]} = bb
${v_equip1[2]} = cc
${v_equip1[3]} = dd
${v_equip1[4]} = ee

${v_equip2[*]} = ba bb bc bd be
${v_equip2[0]} = ba
${v_equip2[1]} = bb
${v_equip2[2]} = bc
${v_equip2[3]} = bd
${v_equip2[4]} = be

${v_equip3[*]} = ca cb cc cd ce
${v_equip3[0]} = ca
${v_equip3[1]} = cb
${v_equip3[2]} = cc
${v_equip3[3]} = cd
${v_equip3[4]} = ce

Abraços Paulo Bettega

On 18-05-2015 00:36, address@hidden [shell-script] wrote:
Prezados


Para o arquivo relatorio.txt :


equip1 aa bb cc dd ee

equip2 ba bb bc bd be

equip3 ca cb cc cd ce

.

Fiz o seguinte para criar um vetor para cada linha do arquivo.


O nome de cada vetor é "v_" seguido do primeiro elemento do vetor

A atribuição funciona, mas...


while read linha; do

   vetor=( $linha )

   eval "v_${vetor[0]}"=( $linha )

   # como imprimir cada vetor?

   # eu fiz:

   echo "${v_$vetor[*]}" # E dá erro...de substituição incorreto

done < relatorio.txt


Seria uma indireção? Eu tentei mas não consegui fazer nada funcional.


Agradeço qualquer dica...


----------------------------------------------------------------------------------------------------
Enviado por: address@hidden
----------------------------------------------------------------------------------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]