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

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

Re: [shell-script] Ajuda


From: Victor Leonardo
Subject: Re: [shell-script] Ajuda
Date: 30 Apr 2004 11:08:22 -0300

Primeiro muito obrigado pela dica! Desculpe incomodar, mas eu não
consegui fazer a quebra com esse sed. Devo estar fazendo algo errado.

ID=`mysql banco -Bs -e "SELECT id FROM tabela"` # essa parte me retorna 
                                                  um identificador que é        
                                          um número sequencial de               
                                 
todos os registros.

for i in $ID; do
  VAR=`mysql banco -e "SELECT campo FROM tabela WHERE id = '$i'"`
  echo $VAR | sed 's/\(\{36\}\)/\1\n/g' >> texto.txt
done

Dessa forma deveria funcionar?

Obrigado!

Victor

Em Sex, 2004-04-30 às 10:07, Ulysses Almeida escreveu:
> On Fri, Apr 30, 2004 at 09:39:38AM -0300, Victor Leonardo wrote:
> > Bom dia pessoal!
> Bom dia, ;)
> 
> > 
> > Estou com o seguinte problema: fiz um script que traz informações de uma
> > tabela do MySQL e armazena essas informações em uma variável. Depois eu
> > dou um echo nessa variável direcionado para um arquivo que vai
> > acumulando o conteúdo dessa variável. Só que por se tratar de texto,
> > muitas vezes a variável é muito extensa. O que eu quero é montar algo
> > que me permita quebrar essa variável quando ela for maior que x posições
> > e jogá-la para o arquivo "quebrada" de modo que o texto fique bem
> > alinhado.
> > Ex:
> > 
> > $VAR=bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla ...
> > 
> > quebrar a variável a cada 36 posiçõese jogar isso para um arquivo de
> > modo que fique algo assim:
> > 
> > bla bla bla bla bla bla bla bla
> > bla bla bla bla bla bla 
> > 
> > Isso é possível?
> 
> Sim, é possível, se você não se importa com a quebra de "palavras",
> voce pode utilizar um unico sed para isso.
> 
> $ VAR="bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla ..."
> $ echo $VAR |sed 's/\(.\{36\}\)/\1\n/g'
> bla bla bla bla bla bla bla bla bla
> bla bla bla bla bla bla ...
> 
> Se quiser mais ou menos caracteres em cada linha, basta mudar o "36".
> 
> $ echo $VAR |sed 's/\(.\{12\}\)/\1\n/g'
> bla bla bla
> bla bla bla
> bla bla bla
> bla bla bla
> bla bla bla
> ...
> 
> 
>   []s
> 
> 
> -- 
>     .~.  Ulysses Almeida
>    / V \  address@hidden
>  / (   ) \  Seja livre, use GNU/Linux! 
>    ^^-^^
> 
> 
> ---------------------------------------------------------------------
> 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
> Para visitar o site do seu grupo, acesse:
>  http://br.groups.yahoo.com/group/shell-script/
> 
> Para sair deste grupo, envie um e-mail para:
>  address@hidden
> 
> O uso que você faz do Yahoo! Grupos está sujeito aos:
>  http://br.yahoo.com/info/utos.html 




reply via email to

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