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

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

Re: [shell-script] [OFF TOPPIC] substituir quebra de linha após caracter


From: China
Subject: Re: [shell-script] [OFF TOPPIC] substituir quebra de linha após caracter
Date: Tue, 31 May 2011 08:58:50 -0300

Então, matou a charada!

Não se fazem sysadmins como antigamente, o cabra extrai os dados do
banco usando uma IDE qualquer no Windoes e ainda abre a josta do
arquivo no notepad antes de mandar pra mim!!!!!

Depois de ligar pro cabra e dar um esporro, fiz o seguinte:

Converti para padrão UNIX conforme sugerido
unix2dos -ad arquivo.csv

Usei o sed
sed ':a;$!N;s/\n//g;ta; s/=//g; s/0A/\n/g'  arquivo.csv >  arquivo-tratado.csv

Agora posso trabalhar em paz.

Obrigado a todos! Topico encerrado!

Em 31 de maio de 2011 08:40, Cléoson Barreto
<address@hidden> escreveu:
>
>
>
> Olá!
>
> Será que esse arquivo que você tem não foi gerado por algum Windows?
> Salvo engano, esse "^M" é o "enter" do Windows que utiliza dois caracteres
> (\r\n), enquanto que em sistemas *nix é apenas um (\n).
>
> Sugiro que você converta esse arquivo para o formato *nix com o
> comando: unix2dos nome_do_arquivo e depois execute o sed ou o tr novamente.
>
> --
> []'s
> Cléoson.
>
> Em 30 de maio de 2011 16:41, China <address@hidden> escreveu:
>
> > A sequencia que você enviou deu certo, mas onde estavam a quebra de
> > linha apareceu um caracter ^M, que está sendo interpretado pelo editor
> > de textos como quebra de linha. O vim mostra a linha intteira, com
> > esse caracter ^M no meio, ficando "phon
> > ^Me1" ao invés de "phon
> > e1". Na hora de abrir com o editor de textos gedit as linhas estão
> > sendo quebradas justamente aí onde eram antes. Ou seja, continua meu
> > problema.
> >
> > Em 30 de maio de 2011 16:28, Cléoson Barreto
> > <address@hidden> escreveu:
> > >
> > >
> > >
> > > Olá!
> > >
> > > Considerando que o "0A" é o fim da linha, tentei fazer dessa forma, vê
> > > se atende:
> > >
> > > $ cat teste.txt
> > >
> > id;username;email;firstname;lastname;idnumber;institution;department;phon=
> > >
> > e1;phone2;city;url;icq;skype;aim;yahoo;msn;country;profile_field_Setor;pr=
> > >
> > ofile_field_Telefone;profile_field_UF;profile_field_matricula;profile_fie=
> > >
> > ld_cargo;profile_field_localizacao;profile_field_lotacao;profile_field_em=
> > > ailalternativo=0A=
> > >
> > id;username;email;firstname;lastname;idnumber;institution;department;phon=
> > >
> > e1;phone2;city;url;icq;skype;aim;yahoo;msn;country;profile_field_Setor;pr=
> > >
> > ofile_field_Telefone;profile_field_UF;profile_field_matricula;profile_fie=
> > >
> > ld_cargo;profile_field_localizacao;profile_field_lotacao;profile_field_em=
> > > ailalternativo=0A=
> > >
> > id;username;email;firstname;lastname;idnumber;institution;department;phon=
> > >
> > e1;phone2;city;url;icq;skype;aim;yahoo;msn;country;profile_field_Setor;pr=
> > >
> > ofile_field_Telefone;profile_field_UF;profile_field_matricula;profile_fie=
> > >
> > ld_cargo;profile_field_localizacao;profile_field_lotacao;profile_field_em=
> > > ailalternativo=0A=
> > >
> > > $ sed ':a;$!N;s/\n//g;ta; s/=//g; s/0A/\n/g' teste.txt
> > >
> > id;username;email;firstname;lastname;idnumber;institution;department;phone1;phone2;city;url;icq;skype;aim;yahoo;msn;country;profile_field_Setor;profile_field_Telefone;profile_field_UF;profile_field_matricula;profile_field_cargo;profile_field_localizacao;profile_field_lotacao;profile_field_emailalternativo
> > >
> > id;username;email;firstname;lastname;idnumber;institution;department;phone1;phone2;city;url;icq;skype;aim;yahoo;msn;country;profile_field_Setor;profile_field_Telefone;profile_field_UF;profile_field_matricula;profile_field_cargo;profile_field_localizacao;profile_field_lotacao;profile_field_emailalternativo
> > >
> > id;username;email;firstname;lastname;idnumber;institution;department;phone1;phone2;city;url;icq;skype;aim;yahoo;msn;country;profile_field_Setor;profile_field_Telefone;profile_field_UF;profile_field_matricula;profile_field_cargo;profile_field_localizacao;profile_field_lotacao;profile_field_emailalternativo
> > >
> > > --
> > > []'s
> > > Cléoson.
> > >
> > > Em 30 de maio de 2011 16:16, China <address@hidden> escreveu:
> > >
> > > > Pessoal, acho que não coloquei o problema de forma clara. O arquivo
> > > > contem zilhares de linhas, e não apenas uma linha. A linha que
> > > > coloquei no exemplo é apenas a primeira. O conjunto citado pelo colega
> > > > nessa mensagem acaba com todas as quebras de linha fazendo com que o
> > > > arquivo tenha apenas uma linha, e não é esse o objetivo. O objetivo é
> > > > eliminar as quebras de linha apenas após o sinal de =(equal), em todas
> > > > as linhas do arquivo.
> > > >
> > > > As soluções que tentei sozinho também resultaram em algo semelhante,
> > > > com apenas uma linha...
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 


--
--
@chinabhz


reply via email to

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