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

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

RES: [shell-script] melhorar script awk


From: Emerson Domingues Souto - H2M
Subject: RES: [shell-script] melhorar script awk
Date: Fri, 22 Jun 2012 18:10:43 -0300

Hummm interessante ....
Mas o echo no final inclui um pipe apenas na última linha do arquivo, não é ? 
Pelo menos foi assim que aconteceu no meu teste.
E se eu quiser que todo final de linha termine com um pipe ?


Emerson Domingues Souto
Tecnologia da Informação
Marítima Seguros S/A
Fone: 11 3156-1017


> -----Mensagem original-----
> De: address@hidden [mailto:shell-
> address@hidden] Em nome de Robson Alexandre
> Enviada em: sexta-feira, 22 de junho de 2012 17:55
> Para: address@hidden
> Assunto: Re: [shell-script] melhorar script awk
> 
> echo  "$(
> sed 's/;/|/g;
> # Substitui ; por |
> 
> s/\r//;
> # Retira o ^M do MSDOS
> 
> s/$/|||||||||||||||||/' $1
> # Completa o final das linhas com "uma pá" (unidade de algum sistema
> métrico) de "|"
> 
> cut -f-$2 -d'|'
> # Pega do primeiro campo até o $2 desejado com os | no final
> 
> )|"
> #Coloca mais um | no final de cada linha com o echo
> 
> Att Robson Alexandre
> 
> 
> Em 22 de junho de 2012 16:53, Emerson Domingues Souto - H2M <
> address@hidden> escreveu:
> 
> > **
> >
> >
> > Julio,
> >
> > O comando tá dando erro:
> >
> > script.sh: 0403-057 Syntax error at line 1 : `<' is not expected.
> >
> > Rsrs, eu não entendi o que esse comando faz, vc pode dar uma
> > explicação pra gente ?
> > Vlw,
> >
> >
> > Emerson Domingues Souto
> > Tecnologia da Informação
> > Marítima Seguros S/A
> > Fone: 11 3156-1017
> >
> > > -----Mensagem original-----
> > > De: address@hidden [mailto:shell-
> > > address@hidden] Em nome de Julio C. Neves Enviada em:
> > > sexta-feira, 22 de junho de 2012 15:49
> >
> > > Para: address@hidden
> > > Assunto: Re: [shell-script] melhorar script awk
> > >
> > > Só pra fazer um one liner.... ;)
> > >
> > > $ echo "$(sed 's/;/|/g;s/\r//;s/$/|||||||||||||||||/' <<< $1 cut
> > > -f-$2
> > -d'|')|"
> > >
> > > Abcs,
> > > Julio
> > >
> > > *
> > > *
> > >
> > >
> > >
> > > Em 22 de junho de 2012 12:02, Emerson Domingues Souto - H2M <
> > > address@hidden> escreveu:
> > >
> > > > **
> > > >
> > > >
> > > > Pessoal,
> > > >
> > > > Eu tenho o script abaixo que recebe na entrada: nome_de_arquivo e
> > > > quantidade_de_pipes.
> > > >
> > > > A saída é o conteúdo do arquivo colocando ou excluindo em cada
> > > > linha a quantidade de pipes do parâmetro de entrada.
> > > >
> > > > Ah, o script também substitui os ";" por "|"
> > > >
> > > > Eu gostaria de substituir o while por um for e deixar o código
> > > > mais enxuto, isso é possível ?
> > > >
> > > > QTD_PIPE=$2
> > > >
> > > > sed 's/;/|/g' $1 | sed 's/^M//g' | awk -F"|" -vOFS="|" '{ ATUAL =
> > > > 0; QTD_PIPE = '$QTD_PIPE'; while (ATUAL < QTD_PIPE) { ATUAL ++;
> > > > printf($ATUAL) "|";
> > > > }
> > > > printf "\n";
> > > > }'
> > > >
> > > > Exemplo de como funciona o script:
> > > >
> > > > cat arquivo
> > > >
> > > > A;
> > > >
> > > > A;B
> > > >
> > > > A;B;C;D;E
> > > >
> > > > script.sh arquivo 3
> > > >
> > > > A|||
> > > >
> > > > A|B||
> > > >
> > > > A|B|C|
> > > >
> > > > Emerson Domingues Souto
> > > >
> > > > Tecnologia da Informação
> > > >
> > > > Marítima Seguros S/A
> > > >
> > > > Fone: 11 3156-1017
> > > >
> > > > [As partes desta mensagem que não continham texto foram
> removidas]
> > > >
> > > >
> > > >
> > >
> > >
> > > [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.listas-
> > > discussao.cjb.net
> > > ----------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > > Links do Yahoo! Grupos
> > >
> >
> >
> >
> 
> 
> [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.listas-
> discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
> 
> Links do Yahoo! Grupos
> 



reply via email to

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