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

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

Re: [shell-script] Re: Mais um Desafio


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Re: Mais um Desafio
Date: Tue, 22 Nov 2005 23:20:08 -0200
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050317)

Com qual versão do mysql vc trabalha?

Aqui tenho um 4.1.14 que não tem parâmetro '-N'.

Falow!

Fabiano Caixeta Duarte
Consultor em soluções para Redes de Computadores
Ribeirão Preto - SP

MrBiTs escreveu:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Franklin Anderson de Oliveira Souza wrote:

olha soh que legal !! :P

fiz um scriptzinho aqui pra  fazer um "mysql> describe" em todas as
tabelas de um bando de dados. Segue o maledito ...

=====================================================
#!/bin/bash
j=1
for i in `mysql -u root -psenha  -e "show tables" sge | awk -F"|"
'{print $1}'`
do
       mysql -u root -psenha  -e "describe $i" sge
       echo -e "==============="
       let j++
done
=====================================================

do jeito que ta ae ele lista algo como

+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| COD_ACRESCIMO | int(11)      |      | PRI | 0       |       |
| DSC_ACRESCIMO | varchar(255) | YES  |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+


o que eh esperado ...


agora se redireciono para um arquivo usando fazendo algo como arquivo

saida.txt ele nao lista o pipe "|"

saindo


Field Type Null Key Default Extra COD_ACRESCIMO int(11) PRI 0 DSC_ACRESCIMO varchar(255) YES NULL
Field   Type    Null    Key     Default Extra COD_AREA_CULTURAL
int(11) PRI NULL auto_increment DSC_AREA_CULTURAL varchar(100


acho que deu pra enteder !!

eu quero redirecionar bonitinho da forma que aparece no terminal pra um
arquivo.


Vamos lá. Alguns pontos de conceito aí. O MySQL só vai jogar "bonitinho"
assim no console. Aquele awk no for é desnecessário, já que se você
executar o mysql -N -e, tudo irá funcionar sem problemas. Você não
precisa cortar a saída do comando. Veja só:

$ for TBL in $(mysql -uusuario -psenha -N -e "show tables" tmais) ; do
echo $TBL ; done
logs
tmaisdireto
tmaisindireto
tmaisresidual
tmaistotal

O -N serve para suprimir a primeira linha do retorno do comando, que
seria o nome do campo. Veja que eu não cortei, não movi, não perdi tempo.

Para gerar uma saída bem formatada, você realmente vai precisar
trabalhar o retorno tendo como certo que as colunas de cada linha são
separadas por tab.


- --
GPG Public Key
http://keyserver.veridis.com:11371/export?id=-6037232142263389818

         \\|||//
         (.) (.)
- ----ooOO--( )--OOoo-----
      MrBiTs
http://www.mrbits.com.br
  address@hidden
- ------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDg4DKrDdxWm3R8YYRAs/fAJ9rLhmxwZVrdnLkJJqqJEUiRaZWswCfXYBx
AN4g7ZN1HCnQvLcuSUFcX5Y=
=3Vf/
-----END PGP SIGNATURE-----


---------------------------------------------------------------------
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









reply via email to

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