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: Cléoson Barreto
Subject: Re: [shell-script] [OFF TOPPIC] substituir quebra de linha após caracter
Date: Mon, 30 May 2011 16:11:04 -0300

Olá!

     Esqueci de colocar um "g" no final de "...s/=//...". O comando ficaria
assim:
$ sed ':a;$!N;s/\n//g;ta; s/=0A/;/g; s/=//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;

-- 
[]'s
Cléoson.

Em 30 de maio de 2011 16:06, Cléoson Barreto
<address@hidden>escreveu:

> Olá!
>
>      Acho que isso deve ajudar:
>
> $ 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=
>
> $ sed ':a;$!N;s/\n//g;ta;s/=//; s/=0A/;/g' teste.txt
>
> id;username;email;firstname;lastname;idnumber;institution;department;phone1;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;=
>
>     Vi referência sobre isso aqui:
> http://aurelio.net/sed/sed-HOWTO/sed-HOWTO-7.html#toc1
>
>
> --
> []'s
> Cléoson.
>
>
> Em 30 de maio de 2011 15:53, China <address@hidden> escreveu:
>
>>
>>
>> Caros;
>>
>>
>> Tenho que trabalhar um arquivo separado pro ponto e vírgula para dar
>> carga num banco de dados. Porém este arquivo está com um defeito, que
>> é a quebra de linhas onde não deveria haver. Reparei que ANTES de cada
>> quebra de linha tem um caracter =(equal), então pensei na
>> possibilidade de usar o SED para a tarefa de eliminar o caracter = e
>> retirar a quebra de linha. A estrutura está assim:
>>
>> 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=
>>
>> Reparem que algumas palavras estão separadas por um = seguido por uma
>> quebra de linha, e que o =0A= é o fim da linha. No caso do =0A= basta
>> mandar substituir por um ; (ponto e virgula), mas não encontrei uma
>> forma de suprimir o = e a quebra de linha para que o resultado fisse a
>> linha inteira, como deve ser o seguinte (não sei se o gmail vai
>> quebrar as linhas, mas segue):
>>
>>
>> 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;
>>
>> Não encontrei nos vários exemplos de sed uma forma de fazer isso.
>> Podem me ajudar?
>>
>> --
>> @chinabhz
>>
>>
>


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



reply via email to

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