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

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

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


From: Rodrigo Vilaça
Subject: RES: [shell-script] Variáveis e arquivos....
Date: Wed, 19 Oct 2005 11:41:32 -0300

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




reply via email to

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