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

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

Re: [shell-script] Variáveis e arquivos....


From: Emerson Domingues Souto
Subject: Re: [shell-script] Variáveis e arquivos....
Date: Wed, 19 Oct 2005 19:38:41 -0200

Olá, use:

echo -e  $CONSULTA > /tmp/consultadehoje 

obs: nao precisa das aspas, mas se quiser usar pode

  ----- Original Message ----- 
  From: Rodrigo Vilaça 
  To: address@hidden 
  Sent: Wednesday, October 19, 2005 12:41 PM
  Subject: RES: [shell-script] Variáveis e arquivos....



  Se você fizer echo "$CONSULTA" > /tmp/consultadehoje ?

  Funciona?

  []'s
  Rodrigo Vilaça

  >
  >Oi!
  >Tudo bem?
  >Eu acho que não expliquei direito. Fiz um menu no início do script para 
  >escolher se quero fazer a consulta no momento (e essa parte faz bom uso 
  >do while e do read atribuindo cada campo a sua variável - obrigado! - e 
  >  já está funcionando) ou então quero usar uma consulta anterior salva 
  >em disco. E o problema está nisso. Essa consulta anterior salva em disco 
  >não permanece num formato que eu possa usar um laćo como o while, por 
  >exemplo, ou então cortar campos com o akw ou cut. O que acontece:
  >
  >Suponha que eu tenha uma consulta do tipo:
  >
  >campo1 campo2 campo3 campo4
  >campo1 campo2 campo3 campo4
  >campo1 campo2 campo3 campo4
  >campo1 campo2 campo3 campo4
  >campo1 campo2 campo3 campo4
  >campo1 campo2 campo3 campo4
  >campo1 campo2 campo3 campo4
  >
  >para n linhas (e são muitas eheheh). Depois de armazenada na variável 
  >$CONSULTA, por exemplo, eu estou salvando desta forma:
  >
  >echo $CONSULTA > /tmp/consultadehoje
  >
  >Quando eu leio esse arquivo eu descubro que ele ficou assim:
  >
  >
  >
  >campo1 campo2 campo3 campo4 campo1 campo2 campo3 campo4 campo1 campo2 
  >campo3 campo4 campo1 campo2 campo3 campo4 campo1 campo2 campo3 campo4 
  >campo1 campo2 campo3 campo4 campo1 campo2 campo3 campo4 campo1 campo2 
  >campo3 campo4
  >
  >
  >Entendeu? Ou seja, sem a quebra de linha eu nào tenho como usar um laćo 
  >ou qualquer outro separador por campos (na verdade eu tenho, eu sei, eu 
  >poderia fazer uma análise do tipo de dado com um egrep e expressão 
  >regular e com isso delimitar as linhas - mas eu acho que isso é tornar 
  >mais longo algo que pode ser mais rápido). Então a pergunta é: Como eu 
  >armazeno essa variável $CONSULTA em disco mantendo o formato original da 
  >consulta?
  >
  >Abraćo e obrigado pela atenćào,
  >
  >Ricio
  >
  >
  >
  >> */
  >> 
  >> Acho que o seu problema se resolve num laço. Digamos que você faça:
  >> 
  >> for LINHA in $(mysql -u usuario -psenha -N -e "Select * from 
  >tabela" BANCO) ; do echo $LINHA ; done
  >> 
  >> Acho uma forma mais inteligente de se tratar o resultado de uma 
  >consulta a dados. Vai bem de encontro às filosofias de 
  >desenvolvimento que dizem que uma consulta deve ser tratada linha 
  >a linha, campo a campo. 
  >> 
  >> Ainda podemos estender esse conceito para algo como:
  >> 
  >> mysql -u root -psenha -N -e "Select host,user,db from db" mysql | \
  >> while read HOST USER DB ; do
  >>    echo $HOST
  >>    echo $USER
  >>    echo $DB
  >> done 
  >> 
  >> e ao invés de tratarmos nossa linha de dados como uma coisa só ( 
  >sempre passível de ser separada por um set - $LINHA ), temos como 
  >tratar os campos individualmente, sem contar a economia de 
  >processamentos, IO...
  >> 
  >> 
  >> [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
  >> ---------------------------------------------------------------------
  >>  
  >> Links do Yahoo! Grupos
  >> 
  >> 
  >> 
  >> 
  >>  
  >> 
  >> 
  >> 
  >> 
  >> 
  >
  >
  >---------------------------------------------------------------------
  >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
  ---------------------------------------------------------------------
   
  Links do Yahoo! Grupos




   






  -- 
  No virus found in this incoming message.
  Checked by AVG Anti-Virus.
  Version: 7.0.344 / Virus Database: 267.12.2/137 - Release Date: 16/10/2005




  ---------------------------------------------------------------------
  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
  ---------------------------------------------------------------------
   
  Links do Yahoo! Grupos




   






[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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