pipe? sim
echo '0a0a2200/ffffff00' | awk --non-decimal-data -F '/' 'function
x(s,p){ return sprintf("%d","0x"z(s,p)) } function z(s,p){ return
substr(s,p,2) } function y(s){ return
x(s,1)"."x(s,3)"."x(s,5)"."x(s,7) } { print y($1),"/",y($2) }'
converter hexa pra decimal ? mas é isso que o programa faz
converter decimal pra hexa? barbada
echo 123 | awk '{a=$1; printf "%d = %x\n",a,a }'
onde %x simboliza um numero Hexadecimal
On 7/27/06, Reinaldo Carvalho <[EMAIL PROTECTED]> wrote:
> Tiago! Dá pra fazer isso sem usar o arquivo (teste.awk), ou seja, tudo
> via pipe? E da para converter de hexa para decimal?
>
>
> On 7/27/06, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> wrote:
> > use este script awk
> >
> > acho que da pra resolver com awk
> >
> > $ echo '0a0a2200/ffffff00' | awk --non-decimal-data -F '/' -f teste.awk
> > 10.10.34.0 / 255.255.255.0
> >
> > $cat teste.awk
> > #inicio
> > function x(s,p){
> > return sprintf("%d","0x"z(s,p))
> > }
> > function z(s,p){
> > return substr(s,p,2)
> > }
> > function y(s) {
> > return x(s,1)"."x(s,3)"."x(s,5)"."x(s,7)
> > }
> >
> > []'s Tiago
> > {
> > print y($1),"/",y($2)
> > }
> > #fim
> >
> >
> > On 7/27/06, Reinaldo Carvalho <[EMAIL PROTECTED]> wrote:
> > > saudações!
> > >
> > > estou fazendo uma interface para o "tc" que é comando que manipula as
> > > "qdisc"s, "class"s e "filter"s, assim como, manipula os algotimos de
> > > controle da fila de pacotes do linux (htb, cbq, tbf, ...).
> > >
> > > Quem tabalha com isso, pode ir conferindo a evolução:
> > > http://www.nautilus.com.br/~rei/material/lost+found/scripts/tc-tool.sh
> > >
> > > Estou empacando na hora de manipular hexadecimais. Na parte de
> > > transformar de hexadecimal para decimal, e de decimal para
> > > hexadecimal.
> > >
> > > Mais especificamente:
> > >
> > > 0a0a2200/ffffff00
> > > O exemplo acima é um ip 0a0a2200 (0x0a 0x0a 0x22 0x00) 10.10.34.0
> > > E a máscara ffffff00 (0xff 0xff 0xff 0x00) 255.255.255.0
> > >
> > > Como converter isso?
> > >
> > > 00500051/ffffffff
> > > No exemplo acima, é porta de origem 0050 (0x0050) 80
> > > Máscara da porta ffff (0xffff) 65535
> > > Porta de destino 0051 (0x0051) 81
> > > Máscara da porta ffff (0xffff) 65535
> > >
> > > (pra quem nunca ouviu falar de máscara da porta, o 65535 é o mesmo de
> > > 255.255.255.255 para o ip, mas isso não vem ao caso)
> > >
> > > Em sumo, preciso conventer:
> > > 0a0a2200/ffffff00 para 10.10.34.0/255.255.255.0
> > > 00500051/ffffffff para 80/65535 e 81/65535
> > >
> > >
> > > []s!!
> > >
> > >
> > > --
> > > Reinaldo Carvalho
> > > Debian Sarge 3.1 - Linux User: #238310
> > > Prodepa - [EMAIL PROTECTED]
> > >
> > >
> > > ---------------------------------------------------------------------
> > > 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: [EMAIL PROTECTED]
> > > ---------------------------------------------------------------------
> > > 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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> > --
> > Tiago B Peczenyj
> > Linux User #405772
> >
> > # cd /pub
> > # more beer
> >
> >
> > ---------------------------------------------------------------------
> > 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: [EMAIL PROTECTED]
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
> --
> Reinaldo Carvalho
> Debian Sarge 3.1 - Linux User: #238310
> Prodepa - [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> 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: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
>
>
>
--
Tiago B Peczenyj
Linux User #405772
# cd /pub
# more beer
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html