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

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

Re: [shell-script] preservando separador de campo


From: Mauricio
Subject: Re: [shell-script] preservando separador de campo
Date: Sun, 30 Oct 2005 18:07:18 +0000
User-agent: Mozilla Thunderbird 1.0.7 (X11/20050923)

Oi...


usar o OUTFILE nào é uma boa idéia, a nào ser que vc use uma base local (o que não é nenhum caso aqui na empresa), simplesmente porque ele vai salvar o outfile no diretório mysql (normalmente /var/lib/mysql) da máquina remota. Eu cheguei em dois lugares distintos: Ou usar o mysqldump e filtrar o resultado, ou usar o mysql com o parâmetro "-e".

Quanto a maćaroca eu também nào entendi, porque testei aqui e ficou do jeito que vc pediu... Não sei se vc reparou, mas eu mudo o separador padrão para o for que faćo na segunda posićão do vetor...

Acho que parece estranho pensar 'assimetricamente' à maioria, mas creio que o resultado talvez seja rápido... pelo menos foi o que me ocorreu na hora...

Abraćão..

MrBiTs wrote:
o meu problema é que os campos são separados por virgula, as com aspas
simples eu tenho que ignora-los. a sua sugestão funcionaria para as strings
mas para os valores numericos ficariam todos "maçarocados" entre as strings.
a query vc acertou, mas o motivo é uma viagem pessoal, nenhum banco de dados
normal.

to estudando ainda, em algum lugar do mundo alguem ja deve ter feito isso...
=)


Fugindo um pouco do shell-script e entrando no mundo SQL, que tal um
SELECT campo1,campo2,campo3 INTO OUTFILE '/tmp/saida.out' FIELDS
TERMINATED BY '^' LINES TERMINATED BY '\n' FROM tabela ?

Isso faria com que a sua vírgula fosse somente uma vírgula, já que o seu
separador de campos seria o ^. Há o problema do ^ ser um meta caracter
de regex, mas nada que uma "escapada" nele (\^)  não resolva.

Já a solução do Maurício funcionou assim, aqui:

root@pinguim:~# bash -x mau.sh
+ IFS='\'\'''
+ var=(`cat valores`)
++ cat valores
+ echo -n 'são, francisco'
são, francisco
+ IFS=,
+ for i in '${var[2]}'
+ echo 43
43
+ for i in '${var[2]}'
+ echo 57
57
+ for i in '${var[2]}'
+ echo 0.0
0.0
+ echo 1994-11-29
1994-11-29

Não entendi onde os números ficaram "maçarocados".

----
GPG Public Key: http://www.mrbits.com.br/gpg-public-key.asc

         \\|||//
         (.) (.)
----ooOO--( )--OOoo-----
      MrBiTs
http://www.mrbits.com.br
  address@hidden
------------------------


[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









reply via email to

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