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

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

Programando em AWK


From: alugopejr
Subject: Programando em AWK
Date: Thu, 10 Apr 2008 12:56:18 -0000
User-agent: eGroups-EW/0.82

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]