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

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

Re: [shell-script] melhorar script awk


From: Robson Alexandre
Subject: Re: [shell-script] melhorar script awk
Date: Fri, 22 Jun 2012 17:54:35 -0300

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]



reply via email to

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