[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] loop for em um determinado bloco
From: |
Info Suporte - Rodrigo Nery |
Subject: |
RES: [shell-script] loop for em um determinado bloco |
Date: |
Thu, 16 Aug 2007 11:00:36 -0300 |
Bom dia Wilson,
A rotina abaixo faz o que você deseja, porém se há alguma outra
particularidade no teu arquivo, a mesma deve ser modificada para
contemplá-la:
x=0
for linha in `cat /tmp/arq`
do
case $linha in
fim) echo "${a[$x]},${b[$x]},${c[$x]}"
continue
;;
inicio) let x=x+1
;;
a) a[$x]=var1
;;
b) b[$x]=var2
;;
c) c[$x]=var3
;;
*) ;; # Se a variável linha for outra coisa que não os
valores acima, colocar o tratamento aqui.
esac
done
/tmp >./teste
var1,var2,var3
var1,,var3
var1,var2,var3
Rodrigo
-----Mensagem original-----
De: Wilson Campos [mailto:address@hidden]
Enviada em: quarta-feira, 15 de agosto de 2007 19:45
Para: address@hidden
Assunto: [shell-script] loop for em um determinado bloco
Pessoal,
tenho um arquivo com a seguinte estrutura:
inicio
a
b
c
fim
inicio
a
c
fim
inicio
a
b
c
fim
Quero fazer um loop for de modo que ele entenda que ao encontrar "inicio"
ele deve iniciar o loop e atribuir a a uma variavel, b a outra e c a outra
depois imprimi-las, caso nao exista alguma(como no segundo bloco do exemplo)
ele imprimira apenas o separador entre elas, encontrando "fim" ele fechara
aquele loop ate encontrar o proximo "inicio".
A saida deve ser:
var1,var2,var3
var1,,var3
var1,var2,var3
PS sou bem leigo em awk, nao que solucoes em awk n sejam bem vindas :)
(claro com uma boa explicacao)
Antecipadamente agradeco a ajuda.
[As partes desta mensagem que não continham texto foram removidas]
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] loop for em um determinado bloco,
Info Suporte - Rodrigo Nery <=