[FUG-BR] [OFF-TOPIC] Ajuda comShell Script
Sendoh Takeshi
sendoh.takeshi em gmail.com
Terça Novembro 18 17:01:42 BRST 2008
Pois é, ainda não consegui.
Vou colocar mais uma parte do script pra ajudar vcs a entenderem melhor,
pois lendo novamente acabei notando que não expliquei bem a situação:
---------------
for i in 00-01 01-01 02-01 03-01 04-01 05-01 06-01 07-01 08-01 09-01 11-01
12-01 13-01
do
mkdir -p /home/sendoh/$var1/$var1-$var2/$var1-$var2-$i/dir1/
mkdir -p /home/sendoh/$var1/$var1-$var2/$var1-$var2-$i/dir2/
mkdir -p /home/sendoh/$var1/$var1-$var2/$var1-$var2-$i/dir3/
programa_1 -dir $var1-$var2 -arquivo $var1-$var2-$i
programa_2 -input
/data/rpt/$var1-$var2/$var1-$var2-$i/$var1-$var2-$i.extensaopropria -output
/data/rpt/$var1-$var2/$var1-$var2-$i/data/
programa_3 -input
/data/rpt/$var1-$var2/$var1-$var2-$i/$var1-$var2-$i.extensaopropria -output
/data/rpt/$var1-$var2/$var1-$var2-$i/data/
for j in medida1 medida2 medida3 medida4 medida5 medida6 medida7 medida8
medida9 medida10
do
programa_4 -input
/data/rpt/$var1-$var2/$var1-$var2-$i/$var1-$var2-$i.extensaopropria -d
/data/rpt/$var1-$var2/$var1-$var2-$i/data/ -n $j -output
/home/sendoh/$var1/$var1-$var2/$var1-$var2-$i/data/$j.ext1
programa_5 -input
/data/rpt/$var1-$var2/$var1-$var2-$i/$var1-$var2-$i.extensaopropria -d
/data/rpt/$var1-$var2/$var1-$var2-$i/data/ -n $j -output
/home/sendoh/$var1/$var1-$var2/$var1-$var2-$i/eps/$j.ext2
.
.
...continua
------------
Acho que agora coloquei a parte mais importante.
Reparem que os outros programas chamados no script utiliza o que é passado
no for ($i), 00-01, 01-02, etc.
O conteúdo das váriaveis $var1 e $var2 juntas ($var1-Svar2) formam o prefixo
do qual falei no e-mail anterior (Ex: prefixo-00-01) e são passadas no ínico
do script.
Obrigado novamente
Em 18/11/08, Fabiano Caixeta Duarte <fcd.listas em gmail.com> escreveu:
>
> 2008/11/18 Sendoh Takeshi <sendoh.takeshi em gmail.com>
>
> >
> > Boa tarde.
> >
> > Tenho um programa que gera dados a partir de medições de vários aparelhos
> e
> > grava esse dados em um formato especial.
> > A partir daí, é feito o download dessa base de dados em outra máquina,
> > compactado. O arquivo então é descompactado gerando vários arquivos do
> tipo
> > 00-01 , 01-01 , 02-01 , etc.
> > Foi criado um script pra automatizar todo o processo, mas tem partes em
> que
> > estou encontrando bastante dificuldade por não ser "íntimo" do shell
> > script.
> > Em determinado momento, acontece a seguinte situação:
> >
> > ............................................
> > *tar -zxvf /tmp/dados/arquivo.tgz
> > *
> >
> > *for i in 00-01 01-01 02-01 03-01 04-01 05-01 06-01 07-01 08-01 09-01 *
> >
> > *do
> > comandos...*
> >
> > *done*
> >
> > *restante do script...*
> >
> >
> >
> > No for, estão as extensões dos arquivos descompactados (o prefixo é igual
> > para todos) e toda vez antes de rodar o script estão sendo inseridos na
> > mão.
> > Gostaria de automatizar isso. Mas tem outro problema: nem sempre os
> > arquivos
> > são sequenciais (00-01, 01-01, 02-01), pode ter 01-02, 02-03 e assim por
> > diante, mas sempre mantém este tipo de extensão. E também, a quantidade
> de
> > arquivos descompactados também é váriavel, como no exemplo de cima tem 10
> > arquivos (e todos sequenciais), mas pode ter 5, 15, 20, 30 arquivos;
> sendo
> > ou não sequenciais; depende (e varia) muito.
> >
> > Minha dúvida é: Como eu poderia fazer para que o for pegasse os valores
> > ("extensões" dos arquivos) a partir desse diretório? Ler os arquivos que
> > estão no diretório usado e colocá-los no laço for, independente da
> > quantidade e se são ou não sequenciais.
> >
> > obs: No diretório ficam somente esses arquivos, do tipo prefixo-00-01.
> > prefixo-01-02, prefixo-03-02, etc
> >
>
> Se no diretório ficam somente estes arquivos, não precisa especificar um a
> um. Faça:
>
> for i in *; do
> comandos
> done
>
> Tá complicando à toa! ;)
>
> --
> Fabiano Caixeta Duarte
> Especialista em Redes de Computadores
> Linux User #195299
> Ribeirão Preto - SP
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
Mais detalhes sobre a lista de discussão freebsd