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

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

[Fwd: Re: [shell-script] Ler arquivo texto com varias colunas]


From: Cléoson Michiles Barreto
Subject: [Fwd: Re: [shell-script] Ler arquivo texto com varias colunas]
Date: Fri, 23 Sep 2005 11:00:16 -0300
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050716)

Olá, Cláudio,

    Não prestei atenção no resultado. Acho que fica melhor assim, 
considerando o mesmo arquivo "colunas.txt":

==================================
#!/bin/bash

a=0
for i in `awk '{print $1 " " $2 " " $3}' colunas.txt`; do
   a=`echo $((a+1))`
   b=variavel`echo $a`
   eval echo $b=$i
   if [ "$a" -eq "3" ]; then
      unset a
   fi
done
==================================

-Resultado:
[cleosonb@ temp]$ ./col.sh
variavel1=aaaa
variavel2=bbbb
variavel3=cccc
variavel1=dddd
variavel2=eeee
variavel3=ffff
variavel1=gggg
variavel2=hhhh
variavel3=iiii

[]'s
Cléoson.


-------- Mensagem Original --------

Olá, Cláudio.

    Pensei em algo como abaixo. Espero que também ajude.
- Arquivo colunas.txt:
[cleoson@ temp]$ cat colunas.txt
aaaa bbbb cccc
dddd eeee ffff
gggg hhhh iiii

- Script:
[cleosonb@ temp]$ cat col.sh
#!/bin/bash

a=0
for i in `cat colunas.txt`; do
   a=`echo $((a+1))`
   b=variavel`echo $a`
   eval echo $b=$i
done

- Resultado:
[cleosonb@ temp]$ ./col.sh
variavel1=aaaa
variavel2=bbbb
variavel3=cccc
variavel4=dddd
variavel5=eeee
variavel6=ffff
variavel7=gggg
variavel8=hhhh
variavel9=iiii

[]'s
Cléoson.

Claudio Sá de Abreu escreveu:

> Gentil,
>
> Obrigado. Isso vai me ajudar muito...
>
> []'s
> Claudio
>
> Gentil de Bortoli Júnior wrote:
>
> > Opa. Podemos economizar os cut's e cat. :)
> >
> > while read linha; do
> >     set - $linha
> >     echo "$1 -- $2 -- $3"
> > done < Teste.txt
> >
> > Gentil de Bortoli Júnior
> > KeyID: 0x8383E070 - www.keyserver.net
> >
> > Claudio Sá de Abreu wrote:
> >
> > >cat arquivo | \
> > >while read line
> > >do
> > >    variavel1=`echo $line|cut -d\  -f1`
> > >    variavel2=`echo $line|cut -d\  -f2`
> > >    variavel3=`echo $line|cut -d\  -f3`
> > >    ...
> >
> > >    ...
> > >done
> >
> > >Isso, supondo que o separador entre os campos é " " (espaço).
> >
>
> ---------------------------------------------------------------------
> 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
> ---------------------------------------------------------------------
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:*
>
>
> *Links do Yahoo! Grupos*
>
>     * Para visitar o site do seu grupo na web, acesse:
>       http://br.groups.yahoo.com/group/shell-script/
>        
>     * Para sair deste grupo, envie um e-mail para:
>       address@hidden
>       <mailto:address@hidden?subject=Unsubscribe>
>        
>     * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>       Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>

-- 

*CLÉOSON* Michiles Barreto
TIGTE/TIBLM/SUPTI - *CEPP*
*Administração de Ambiente de Serviços de TI*



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



reply via email to

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