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 14:12:12 -0300

Não .... tem que ter os pipes .... por isso que foi incluído o comando awk
Mas valeu pela dica.


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 12:14
> Para: address@hidden
> Assunto: Re: [shell-script] melhorar script awk
> 
> A saída poderia ser assim?
> 
> A|
> A|B
> A|B|C
> 
> porque daria para fazer assim:
> 
> #!/bin/bash
> sed 's/;/|/g;s/^M//g' $1 | cut -d "|" -f 1-$2
> 
> chamando assim
> #script.sh arquivo 3
> 
> Att
> Robson Alexandre
> 
> 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
> 



reply via email to

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