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

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

Re: [shell-script] Duvida array em loop


From: Ronaldo Ferreira de Lima
Subject: Re: [shell-script] Duvida array em loop
Date: Fri, 6 Feb 2015 10:15:17 -0200
User-agent: mutt-ng/devel-r804 (Linux)

On Wed, Feb 04, 2015 at 11:22:12AM -0200, 'address@hidden' address@hidden 
[shell-script] wrote:
> 
> Julio, muito obrigado.
> Testando sua dica, funcionou muito bem, pega o arquivo de varias linhas e
> divide em "lotes" para trabalhar com eles separadamente e ainda tira a quebra
> de linha como precisava.
> No entanto* ainda não consegui adequar a sua dica no meu script, porque quando
> eu chamo o valor do Array sempre vem o primeiro "bloco", rodando em debug, sua
> dica esta fazendo certo pegando o segundo e assim por diante*  mas o problema 
> é
> que EU não sei como chamar o seu Array.
> Por exemplo:
> criei um arquivo de nomes de carros e rodei o script dando um echo na "$Arr":
> + split -l 10 arquivo_teste.txt
> + Ind=-1
> + for Arq in 'xa*'
> ++ tr -d '\n'
> + Arr[++Ind]='"A10-A20-Astra-Blazer-Bonanza-Brasil-C10-C20-Caravan-Celta-"'
> + echo '"A10-A20-Astra-Blazer-Bonanza-Brasil-C10-C20-Caravan-Celta-"'
> "A10-A20-Astra-Blazer-Bonanza-Brasil-C10-C20-Caravan-Celta-"
> + sleep 1
> + echo -----
> -----
> + for Arq in 'xa*'
> ++ tr -d '\n'
> + Arr[++Ind]='"S10-Trailblazer-Vectra-Vectra-Veraneio-Zafira-"'
> + echo '"A10-A20-Astra-Blazer-Bonanza-Brasil-C10-C20-Caravan-Celta-"'
> "A10-A20-Astra-Blazer-Bonanza-Brasil-C10-C20-Caravan-Celta-"
> + sleep 1
> + echo -----
> -----
> + echo fim
> fim
> Se eu fizer echo "Arr[++Ind]" ele faz a mesma coisa só que printa o [++Ind] no
> final da linha
> Poderia me informar o modo certo de chamar o Array?
> Novamente, agradeço a atenção.
> Carlos
("Invadindo a conversa")

"++Ind" é uma operação matemática  que pré-incrementa a variável $Ind em
1 e devolve seu valor para o índice do array, em outras palavras, $Ind é
o contador para  os elementos do seu array. Para  imprimir o conteúdo de
um elemento  específico, por exemplo  o primeiro elemento, a  sintaxe é:
${Arr[0]}.

Por ter funcionado, há uma grande  chance de você não precisar do split.
Poderia apenas subdividir seu arquivo  diretamente no script com laços e
concatenação de variáveis.

[]'s
-- 
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
http://tecnoveneno.blogspot.com


reply via email to

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