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

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

Re: [shell-script] Re: Retornar linhas especificas de Bloco de texto


From: Julio C. Neves
Subject: Re: [shell-script] Re: Retornar linhas especificas de Bloco de texto
Date: Fri, 13 Jan 2012 22:41:02 -0200

Fala Karin,
acho que já identifiquei o seu problema: antes de mais nada faça:

tr -d '\r' AXN-050112.SDF > trab

em seguida, faça o que vc vinha fazendo, porém onde vc usa AXN-050112.SDF,
parra a usar trab.

Esse arquivo (AXN-050112.SDF) deve estar com carriage return (\r) no final
de cada linha.


Abcs,
Julio
*Já foi lançado "Bombando o
Shell<http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666>
". *
*Show **de interfaces gráficas sob Shell!*
*
*



Em 13 de janeiro de 2012 22:03, Karin <address@hidden> escreveu:

> **
>
>
> Pessoal,
>
> Infelizmente deve estar tendo alguma coisa errada e não estou conseguindo
> identificar o porque não executa o comando como deveria, pois para apenas 2
> linhas não esta sendo possível unir as linhas.
>
> Olha o resultado que me retorna. Estou usando ubuntu 10.10 e também 11.04
> para teste.
>
> $grep -E 'EVENTID|DATE|START|DURATION|PLAYOUT' AXN-050112.SDF | sed -r
> 's/^ +//' | head -2
> EVENTID=AXN1201060000;
> DATE=2012/01/06;
>
> $ grep -E 'EVENTID|DATE|START|DURATION|PLAYOUT' AXN-050112.SDF | sed -r
> 's/^ +//' | head -2 | xargs -L2
> DATE=2012/01/06;0000;
>
> $ grep -E 'EVENTID|DATE' AXN-050112.SDF | sed -r 's/^ +//' | head -2 | awk
> '{if (NR%2==0){print $0;}else{printf "%s", $0;}}'
> DATE=2012/01/06;60000;
>
> Atenciosamente,
> Karin Klayton
>
> --- Em address@hidden, "Julio C. Neves" <julio.neves@...>
> escreveu
> >
> > Moa e Karin,
> > Moa, Em 20 min vc aprende legal o xargs lendo esse pequeno
> > texto<
> https://wiki.softwarelivre.org/TWikiBar/TWikiBarBirinaite#Op_es_do_xargs>,
> > em que está em pt_BR e cheio de exemplos.
> >
> > Karin, seu problema é animal! ;)
> > Não entendi bem o que vc falou, pois não vi nenhum espaço ou tab, nem
> antes
> > da execução do cmd, nem após.
> >
> > Mas já vou te adiantando: normalmente problemas com espaços e tabs são
> > ocasionados por falta de aspas.
> >
> > Abcs,
> > Julio
> > *Já foi lançado "Bombando o
> > Shell<
> http://www.brasport.com.br/index.php?dispatch=products.view&product_id=666
> >
> > ". *
> > *Show **de interfaces gráficas sob Shell!*
> > *
> > *
> >
> >
> >
> > Em 13 de janeiro de 2012 14:03, Karin <karinklayton@...> escreveu:
> >
> > > **
> > >
> > >
> > > Perdão Moacir,
> > >
> > > Tinha colocado como exemplo, a saída seria o valor da linha completa.
> > >
> > > Julio,
> > >
> > > Ao executar o comando percebi que existe outro problema, no arquivo
> > > original, existe uma indentação com espaço entre as tags SED e EED e
> por
> > > esse motivo o retorno não vem como o desejado.
> > >
> > > Fiz mais algumas evoluções mais caiu nesta situação, terei que dar um
> > > jeito de retirar os espaços antes para depois executar o comando que
> você
> > > colocou. Veja o que fiz.
> > >
> > > $awk '/ EVENTID|DATE|START|DURATION|PLAYOUT|EPG/' ANIMAL-050112.SDF |
> head
> > > -12
> > >
> > > EVENTID=ANIMAL1201060000;
> > > DATE=2012/01/06;
> > > START=00:00:00;
> > > DURATION=00:30:00;
> > > PLAYOUT="60 Encontros Mortais: Africa do Sul 3 ";
> > > EPG=eng,"60 Encontros Mortais: Africa do Sul 3 "," .De tubaroes-tigres
> e
> > > centopeias gigantes a aranhas e ras venenosas, Steve Backshall corre
> contra
> > > o tempo para encontrar criaturas que os demais seres humanos passam a
> vida
> > > tentando evitar","Series, Documentario",E;
> > > EVENTID=ANIMAL1201060030;
> > > DATE=2012/01/06;
> > > START=00:30:00;
> > > DURATION=00:30:00;
> > > PLAYOUT="60 Encontros Mortais ";
> > > EPG=eng,"60 Encontros Mortais "," .De tubaroes-tigres e centopeias
> > > gigantes a aranhas e ras venenosas, Steve Backshall corre contra o
> tempo
> > > para encontrar criaturas. Esta aventura global demonstra que o tamanho
> nao
> > > importa na batalha pela sobrevivencia","Series, Documentario",E;
> > >
> > > Agora o comando como foi passado.
> > > $ grep -E 'EVENTID|DATE|START|DURATION|PLAYOUT|EPG' ANIMAL-050112.SDF |
> > > xargs -L6 | head -6
> > > EPG=eng,60 Encontros Mortais: Africa do Sul 3 , .De tubaroes-tigres e
> > > centopeias gigantes a aranhas e ras venenosas, Steve Backshall corre
> contra
> > > o tempo para encontrar criaturas que os demais seres humanos passam a
> vida
> > > tentando evitar,Series, Documentario,E;
> > > EPG=eng,60 Encontros Mortais , .De tubaroes-tigres e centopeias
> gigantes a
> > > aranhas e ras venenosas, Steve Backshall corre contra o tempo para
> > > encontrar criaturas. Esta aventura global demonstra que o tamanho nao
> > > importa na batalha pela sobrevivencia,Series, Documentario,E;
> > > EPG=eng,Amor de Gato , .O apresentador John Fulton tem certeza de que
> os
> > > Estados Unidos escondem um segredo: esta cheio de gatos adoraveis! Em
> sua
> > > primeira viagem pelo pais, ele visita o sudeste para conhecer felinos
> > > fabulosos e seus donos curiosos,Series, Documentario,E;
> > > EPG=eng,O Encantador de Caes , .Esta serie acompanha o especialista em
> > > comportamento animal, Cesar Millan, e mostra como ele trabalha com os
> > > animais e seus donos,Series, Documentario,E;
> > > EPG=eng,Pit Boss: Surpresa , .Depois de trabalharem como voluntarios
> em um
> > > abrigo de animais, Sebastian, Ronald e Ashley voltam com um pit bull
> que
> > > deveria ser sacrificado,Series, Documentario,E;
> > > EPG=eng,Depois do Ataque: Puma e Alce , .Em 2007, durante uma caminhada
> > > num parque estadual, um puma ataca um membro de uma familia, causando
> > > ferimentos graves,Series, Documentario,E;
> > >
> > > Ele não pega os outros campos devido os espaços ou tabulação do início,
> > > tentei usar o tr -s " " mais ainda não deu certo.
> > >
> > > Estou tentando aqui mais algumas coisas.
> > >
> > > Atenciosamente,
> > > Karin Klayton
> > >
> > > --- Em address@hidden, Moacir Souza <moacir.souza@>
> > > escreveu
> > >
> > > >
> > > > Rapaz,
> > > >
> > > > Confesso que toda vez fico espantado com sua a capacidade de
> > > > condensação, Julio =). Cheguei ao mesmo resultado com uma linha
> > > > consideravelmente maior e usando mais comandos.
> > > > Agora vou aproveitar sua dica de mestre e adicionar uma coisinha
> > > > que, segundo a explicação de Karin no primeiro e-mail, ficou
> pendente:
> > > > a remoção do texto que vem depois do sinal de igual. É apenas um sed
> > > > bobo, mas a saída fica igualzinha à solicitada.
> > > >
> > > > /tmp $ grep -E "EVENTID|DATE|START|DURATION|PLAYOUT|EPG" arquivo |
> > > > sed 's/=[^;]*\;/;/' | xargs -L 6
> > > > EVENTID; DATE; START; DURATION; PLAYOUT; EPG;
> > > > EVENTID; DATE; START; DURATION; PLAYOUT; EPG;
> > > > EVENTID; DATE; START; DURATION; PLAYOUT; EPG;
> > > > EVENTID; DATE; START; DURATION; PLAYOUT; EPG;
> > > >
> > > > Abraços,
> > > > Moacir Filho
> > > >
> > > > P.S.: Gozado como eu ainda não sou um usuário costumaz do xargs.
> Tenho
> > > > que remediar isso e rápido!
> > > >
> > > > --
> > > > ==========================================
> > > > Moacir da Cruz Souza Filho
> > > >
> > > > Analista de Sistemas: Suporte Unix Avançado
> > > > Mestrando em Ciências da Computação
> > > > Bacharel em Engenharia da Computação
> > > > Técnico em Eletrônica
> > > > Linux user #449600
> > > > ==========================================
> > > >
> > >
> > >
> > >
> >
> >
> > [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]