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

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

Re: [shell-script] Tratamento de Tamanho de Campos em AWK


From: Ricardo Acosta
Subject: Re: [shell-script] Tratamento de Tamanho de Campos em AWK
Date: Mon, 3 Jul 2006 11:21:47 -0300

Extraido do livro do Juliio Neves, seção AWK:
substr(c1,p,n) - retorna a subcadeia que comeca na posição "p" de "c1"
com "n" caracteres

da posicao até a posicao 15:
acosta@clima: ~$ awk '{ print substr ($1,1,15)}' cad.txt
123456789012345
1234567890
1234567890
1234567890

da posicao  11 até a posiçao 15:
acosta@clima: ~$ awk '{ print substr ($1,11,15)}' cad.txt
1234567890






2006/7/3, Quick - Luiz Henrique <address@hidden>:
Opa ai sim heim!! ,  essa é bacana
Tem alguma opção que eu extrai campos no awk igual faz o cut " cut -c1-10" ?
porque ai terei varias condicionais extraindo trechos diferente do
registro atual naquele momento.


2006/7/3, Ricardo Acosta <address@hidden>:
> Veja se ajuda?
>
> acosta@clima: ~$ awk '{ print length ($1)}' cad.txt
> 20
> 10
> 10
> 10
>
>
> []s
> acosta
>
>
> 2006/7/3, Quick - Luiz Henrique <address@hidden>:
> > Ola pessoal estou pesquisando na internet mas se os amigos puderem me
> > ajudar melhor :-)
> >
> > Tenho um arquivo
> > Cad.txt
> > 12345678901234567890
> > 1234567890
> > 1234567890
> > 1234567890
> >
> >
> > Trantando esse arquivo linha a linha usando o procedimento abaixo funciona
> > i=1     # contador de linhas
> >
> > while [ $e -gt 0 ]
> > do
> >
> >
> >         tamanho=$(sed -n "$i"p $1 |wc -L)  # Checa o tamanho da linha
> >         e=$(sed -n "$i"p $1 |wc -c)        # Identifica o tipo da linha
> >
> >
> > # Trata a primeira linha do arquivo
> >
> > if [ $tamanho -eq 20 ]
> > then
> >                 linha=$(sed -n "$i"p $1)           # Cabeçalho
> > else
> >                 linha=$(sed -n "$i"p $1)           # Outras Linhas
> > fi
> >
> > i=$(($i+1))
> >
> > done
> >
> > Até ai blz mas eu gostaria de manipular esse arquivo usando o AWK que
> > é bem mais rapido doque um loop com condicionais.
> > E estou testando a variavel NF do AWK mas ele me retorna a quantidade
> > de separador de não a quantidade de colunas que é o que eu quero.
> >
> > Desde ja agradeço pela força
> >
> > --
> > Henrique Sales
> >
> >
> > Seja Livre Use Linux !!!
> >
> >
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> __________________________
> Ricardo Acosta
> Laboratório de Clima e Biosfera
> Depto. de Ciências Atmosféricas
> Universidade de São Paulo
>
>
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
>
>
>
>


--
Henrique Sales
MSN - address@hidden
ICQ  -  51430343

Seja Livre Use Linux !!!


---------------------------------------------------------------------
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











--
__________________________
Ricardo Acosta
Laboratório de Clima e Biosfera
Depto. de Ciências Atmosféricas
Universidade de São Paulo


reply via email to

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