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

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

Colocar arquivos em colunas


From: Eddy
Subject: Colocar arquivos em colunas
Date: Thu, 27 Mar 2003 14:38:43 -0300

Caros amigos boa tarde!

Tenho uma dúvida que consegui resolver a algum tempo mas que me perdi em
como se faz..
tenho um arquivo   (a,a1,b,b1,c,c1,d,d1) quero colocar assim...!!!!
a     a1
b     b1
c     c1

Lembro que usei o tr para isso mas me perco em sintaxes.....
Agradeço o help

Sem mais,

        Carlos Eduardo Dionizio
     Analista de Suporte - UNIX
Universidade Estácio de Sá - CPD

Demolidor .."Padre eu luto pq não tenho medo"
Padre.." Pena meu filho, pois um homem sem medo é um homem sem esperanças"
                                             (Filme - Demolidor)
----- Original Message -----
From: "Julio Cezar Neves - DATAPREVRJ"
<address@hidden>
To: <address@hidden>
Sent: Thursday, March 27, 2003 12:00 PM
Subject: RES: [shell-script] CSV Parsing


> Olá Dorneles,
> vc pode matar 2 coelhos com uma só cajadada fazendo:
>
> OldIFS="$IFS"
> IFS=";"
>
> while read campo1 campo2 campo3
> do
>     echo "$campo1---$campo2---$campo3"
> done < $1
>
> Para ficar + legível poré menos otimizado, vc poderia fazer a leitura
assim:
>
> cat $1 |
> while read campo1 campo2 campo3
> do
>     echo "$campo1---$campo2---$campo3"
> done
>
> Como vc deve saber o while é executado enquanto o cmd que o segue - neste
> caso o read - seja bem sucedido, assim sendo, quando o cmd ler um EOF, o
seu
> código de retorno ($?) será != 0, saindo assim do loop. Veja só
>
> Prompt> read lixo < /dev/null
> Prompt> echo $?
> 1
>
> Neste exemplo o /dev/null manda, de cara, um EOF para o read. Quando
listei
> o código de retorno, ele estava = 1, desta forma demonstrando o que falei
no
> parágrafo anterior.
> [ ]s,
> Julio Cezar Neves
> -Eu Apoio o Software Livre-
> -I Support Free Software-
> * +55 21 2528-7070  /  9853-4044
> *address@hidden
>
>
> > -----Mensagem original-----
> > De: Dorneles Treméa [mailto:address@hidden]
> > Enviada em: quarta-feira, 26 de março de 2003 22:58
> > Para: address@hidden
> > Assunto: [shell-script] CSV Parsing
> >
> >
> > Olá pessoal,
> >
> > preciso de uma luz... :-)
> >
> > Estou iniciando um script que vai parsear um
> > arquivo CSV, na verdade separado por ";", e
> > executar algums comandos dependendo do conteúdo.
> >
> > O arquivo é composto por várias linhas no formato:
> >
> > campo1;campo2;campo3;campoN
> >
> > Eu estou tentando usar o $IFS para separar as
> > linhas e depois as colunas, mas ainda não tive
> > sucesso.
> >
> > Primeiro problema: pegar linha a linha do arquivo.
> >
> > ----------------------
> >
> > old_IFS="$IFS"
> > IFS="\012"
> >
> > for linha in `cat $1` ; do
> >   echo $linha
> > done
> >
> > IFS="$old_IFS"
> >
> > ----------------------
> >
> > Isso deveria mostrar cada uma das linhas certo?
> > Mas não mostra... (devo estar errando em algo)
> >
> > A minha ideia é pegar cada uma das linhas e passar
> > para uma função.
> >
> > Segundo teste: passar a linha para uma função
> > que quebre os campos.
> >
> > ----------------------
> >
> > processa() {
> >    /path/to/comando $1 $3
> > }
> >
> > for linha in `cat $1` ; do
> >   processa $linha
> > done
> >
> > ----------------------
> >
> > Onde eu chamo um comando usando apenas alguns dos
> > campos passados.
> >
> > Deve ser simples, mas eu devo ter perdido o cérebro
> > essa semana em algum lugar... ;-)
> >
> > Valeu.
> >
> > T+
> >
> > --
> >
> > Dorneles Treméa
> > Caxias do Sul - RS - Brasil
> > +55 54 9114 9312 - UIN: 2413568
> > X3ng Web Technology <http://www.x3ng.com.br>
> >
> > -----BEGIN GEEK CODE BLOCK-----
> > Version: 3.12
> > GCS/IT d- s:->: a23 C+++ UBL++++$ P--- L++ E-- W+++
> > N++ o? K? w+ O M+ V-- PS+ PE- Y-- PGP++ t+ 5 X++ R+
> > tv+ b(++) DI+ D++ G+>+++ e++>++++ h---- r+++ y+++**
> > ------END GEEK CODE BLOCK------
> >
> >
> >
> > [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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>
>
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
>



reply via email to

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