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

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

Re: [shell-script] Re: Transformar blocos de um texto em uma linha


From: Flavio Junior
Subject: Re: [shell-script] Re: Transformar blocos de um texto em uma linha
Date: Fri, 6 Jun 2008 15:22:39 -0300

Eduardo, boa tarde...

$ é um metacaracter que indica fim-de-linha (EOL), mas não é realmente
um conteudo no arquivo.

No teu caso, teria que trocar o "\n" (de new-line).

Podes fazer usando o tr

$ tr -d '\n' < arquivo

-d = delete, ou seja, apagar os \n, vai transformar tudo em uma linha só.

--

Flavio do Carmo Junior aka waKKu

2008/6/6 Eduardo de Paula <address@hidden>:
> Boa tarde turma...
>
> Aproveitando a tread...
>
> tenho uma duvida.
>
> com um arquivo assim:
>
> TRR
> 000002
>
> como fazer usando sed para juntar as duas linhas?
>
> TRR000002
>
> sed 's/TRR$/TRR/g' nao funfa pq? Não é só tirar a quebra de linha
> depois de TRR?
>
> Obrigado.
>
> --- Em address@hidden, "Flavio Junior" <billpp@...>
> escreveu
>
>>
>> Ta um pouco confuso a ideia, mas tenta isso:
>>
>> # tr '\n' ';' < txt | sed 's/;;/\n/g'
>>
>> Ve se ajuda.
>> Eu to entendendo que entre um dado7 e o novo Bloco tem uma linha em
> branco.
>>
>> --
>>
>> Flávio do Carmo Júnior aka waKKu
>>
>>
>> 2008/6/6 Petry <petrybr@...>:
>> > Não...
>> >
>> > preciso pegar o numero do bloco no ***** Bloco X
>> >
>> > o X eh letra ou numero, e tens linhas onde o A é '
>> >
>> > dado3 , dado4 e dado6 nao tem ' '
>> >
>> > mas soh deixando cada bloco numa linha separada por ; ja dava pra
> trabalhar
>> > melhor no excel
>> >
>> > tipo
>> > cat txt | sed '/Bloco/,/dado7/ { $ s/$/;}
>> >
>> > algo nesse estilo, da linha com Bloco até a linha com dado7, onde
> tiver
>> > final de linha ($) substituir por ;
>> >
>> > Att.,
>> > JP
>> >
>> > 2008/6/6 Flavio Junior <billpp@...>:
>> >
>> >> lazlo:~# cat txt
>> >> *********** Bloco 1
>> >> dado1 'XXXXXXXXXX'H -- "'AAAAAAA" --,
>> >> dado2 'AAAAAAAAA'H -- "XXXXXXXXXX" --,
>> >> dado3 XX,
>> >> dado4 XX,
>> >> dado5 'XXXXXXXXXXXXXX'H -- "AAAAAA" --,
>> >> dado6 XX,
>> >> dado7 'XXXXXXXXXX'H -- "AAAAA" --,
>> >> lazlo:~# grep -Eo 'X+' txt | paste -sd\;
>> >> XXXXXXXXXX;XXXXXXXXXX;XX;XX;XXXXXXXXXXXXXX;XX;XXXXXXXXXX
>> >> lazlo:~#
>> >>
>> >> seria isso?
>> >>
>> >> --
>> >>
>> >> Flávio do Carmo Junior aka waKKu
>> >>
>> >> 2008/6/6 Petry <petrybr@... <petrybr%40gmail.com>>:
>> >>
>> >> > Senhores,
>> >> >
>> >> > Tenho um arquivo onde blocos se repetem do tipo:
>> >> >
>> >> > *********** Bloco 1
>> >> > dado1 'XXXXXXXXXX'H -- "'AAAAAAA" --,
>> >> > dado2 'AAAAAAAAA'H -- "XXXXXXXXXX" --,
>> >> > dado3 XX,
>> >> > dado4 XX,
>> >> > dado5 'XXXXXXXXXXXXXX'H -- "AAAAAA" --,
>> >> > dado6 XX,
>> >> > dado7 'XXXXXXXXXX'H -- "AAAAA" --,
>> >> >
>> >> > *********** Bloco 2
>> >> > ( e tudo se repete.....)
>> >> >
>> >> > o que preciso é deixar os XXXX em uma linha separados por ; para
>> >> > exportar
>> >> > pro excel...
>> >> >
>> >> > 1;XXXXXXXXXX;XXXXXXXXX;XX;XX;XXXXXXXXXXX;XX;XXXXXXX
>> >> > 2;XXXXXXXXXX;XXXXXXXXX;XX;XX;XXXXXXXXXXX;XX;XXXXXXX
>> >> > (...)
>> >> >
>> >> > Usando o SED estou recebendo command garbled :(
>> >> >
>> >> > Alguma sugestão de como posso fazer?
>> >> >
>> >> > Att.,
>> >> > JP
>> >> >
>> >> > [As partes desta mensagem que não continham texto foram removidas]
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >
>> > [As partes desta mensagem que não continham texto foram removidas]
>> >
>> >
>>
>
> 


reply via email to

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