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

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

Re: [shell-script] Programando em AWK


From: Ricardo Brito do Nascimento
Subject: Re: [shell-script] Programando em AWK
Date: Thu, 10 Apr 2008 15:23:55 -0300
User-agent: Thunderbird 2.0.0.5 (X11/20070719)

consegui isto por enquanto...
awk '
      /^00/ {print $2 " Internacionais: R$ "$2*1.2}
      /^0[^038]/ {print $2 " Interurbanos: R$ "$2*0.4}
      /^91/ {print $2 " Convenio 1: R$ " $2*0.2}
      /^81/ {print $2 " Convenio 2: R$ " $2*0.07}
      /^7[0-9]|^[89][02-9]/ {print $2 " Celular: R$ " $2*0.8}
      /^[2-6]/ {print $2 " Fixo: R$ " $2*0.1}
      /^0800/ {print $2 " Ligações 0800: R$ "$2*0}
      /^0300/ {print $2 " Ligações 0300: R$ " $2*0.5+3}
      /^1../ {print $2 " Ligações Especiais: R$ "$2*0}
' teste/fones.lst

------------------------------------------------------------------------
Ninguém há semelhante a ti, ó Senhor; tu és grande, e grande o poder do teu nome. (1ªJeremias 10.6) No one is like you, O Lord; you are great, and your name is mighty in power. (1ªJeremiah 10.6)
 Jesus te ama, aceite-O!   Jesus loves you, accept you Him!



alugopejr escreveu:

Bom dia a todos do grupo, sou novo aqui e gostaria de uma ajuda de
vocês, é o seguinte, aqui na minha empresa, me pediram um programinha
em shell script, AWK, é o seguinte :

script usando a linguagem AWK para realizar a contabilidade dos
telefonemas
gerados por uma organização. Considere que numa data certa de cada
mês um arquivo
como o exemplo abaixo será entregue, contendo todos os registros de
ligações originadas internamente.
08004042121 3
03003034343 5
0913199999999 45
0054214443333 30
194 10
91996649 12
81881273 22
88284474 7
32324664 10
A primeira coluna mostra o número discado e a segunda a duração em
minutos. Para
cada tipo de ligação há uma tarifação específica a ser aplicada,
conforme a tabela abaixo.
0800nnnnnn
Ligações gratuitas. R$ 0,00/m
0300nnnnnn
Ligações cobradas. R$ 3,00 por ligação + R$ 0,50/m
1nn
Serviços especiais (polícia, ambulância, etc). R$ 0,00/m
91nnnnnn
Ligações para móvel, operadora 1. Convênio especial com tarifa de R$
0,20/m
81nnnnnn
Ligações para móvel, operadora 2. Convênio especial com tarifa de R$
0,07/m
[89]nnnnnnn
Demais operadoras móveis (prefixo diferente de 91 ou 81). R$ 0,80/m
[34]nnnnnnn
Ligações para fixo. R$ 0,10/m
00nnxx...
Ligações internacionais. Qualquer operadora, R$ 1,20/m
0nnxxnnnnnnnn
Interurbano. R$ 0,40/m
Onde n significa um número qualquer, xx é um código de operadora
e ... é uma quantidade
variável de números.
O script contabilizará o quanto foi gasto em cada categoria e
mostrará o resultado exatamente como no exemplo abaixo :
== Resumo ==
Internacional: 36.00
Interurbano: 18.00
Celular: 9.54
Fixo: 1.00
Outros: 5.50
TOTAL: 70.04
Todo registro que não pertencer a uma das classes indicadas deve ser
tratado como erro,
gerando a mensagem abaixo com os valores entre chaves devidamente
substituídos.
Erro:{número da linha}: {registro completo}

Preciso muito desses emprego e nunca mexi com shell script, se alguém
puder me dar essa força, serei grato.
Desde já muito obrigado !!!




reply via email to

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