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: address@hidden
Subject: Re: [shell-script] Duvida array em loop
Date: Wed, 4 Feb 2015 11:22:12 -0200

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







On Feb 3, 2015, at 7:06 PM, 'Julio C. Neves' address@hidden [shell-script] <address@hidden> wrote:

 

Será que eu entendi? Depois do split vc pode fazer:

Ind=-1
for Arq in xa*
do
    Arr[++Ind]=\"$(tr -d '\n' < $Arq)\"
done

Acho que deve ser isso...

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 23 a 27/03/15
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 3 de fevereiro de 2015 17:03, 'address@hidden' address@hidden [shell-script] <address@hidden> escreveu:
 

Prezados,

Alguem pode me ajudar com a seguinte situação:

Tenho um arquivo de 200 linhas ou mais linhas e preciso dividir ele em no maximo 50 linhas cada arquivo (no caso, estou tentando com o split)

Problemas:

Preciso colocar o arquivo inteiro (200 ou mais linhas) em um array de 50 linhas cada.

Por exemplo:

split -l 50 arquivo.txt (se o arquivo tiver 200 linhas, vai gerar 4 arquivos = xaa xab xac xad)

tem que ficar assim:

array=("linha1linha2linha3linha4linha5...linha50" "linha51linha52linha53linha54...linha100" )

Alguem tem alguma ideia de como fazer isso?

split -l 50 arquivo.txt

cat xaa > variavel
cat xab > variavel2
cat xac > variavel3
cat xad > variavel4

array=("variavel" "variavel2" "variavel3" "variavel3")

só que não pode ser variavel, preciso do valor do arquivo, como se estivesse dando um echo na variavel e salvando no array

array=( "linha1linha2linha3linha4linha5...linha50" "linha51linha52linha53linha54...linha100" )

Agradeço muito antecipadamente,

Carlos





reply via email to

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