[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Ajuda para cálculo
From: |
Mauricy Maiorino |
Subject: |
Ajuda para cálculo |
Date: |
Wed, 09 Nov 2005 08:46:13 -0200 |
User-agent: |
Mozilla Thunderbird 1.0.7 (X11/20050923) |
Pessoal
Estou com o seguinte problema:
Tenho o arquivo:
kafer 09020000000000 0001000042 funcamp
mjuliato 34000000000000 0001000170 ic
mbueno 09000000000000 0002000045 ifch
mbueno 09000000000000 0004000005 ia
A algum tempo atras o Alexandre Vieira me ajudou, pois na epoca eu precisa
deixar o arquivo desta forma:
kafer 09020000000000 42 funcamp
mjuliato 34000000000000 170 ic
mbueno 09000000000000 45 ifch
mbueno 09000000000000 5 ia
... e com a solução dele logo abaixo, o que eu precisava foi resolvido:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
#!/bin/bash
/bin/gawk 'BEGIN { OFS=" " }
{
b = gensub(/.*(......)$/, "\\1","g" , $3 )
c = gensub(/0+(.*)$/, "\\1","g" , b)
print $1,$2,c,$4
}' "$*"
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
b salva os últimos 6 caracteres, e c remove os zeros da frente.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mas agora eu preciso manter no arquivo original este campo, pois ele
indica a quantidade de copias e o numero de paginas impressas de um
usuario. Como faço para em tempo de leitura deste arquivo, multiplicar os
4 primeiros digitos deste campo (Ex. 0002000045 ===> 0002 x 000045) e
obter o total, mesmo que for em outro arquivo?? Não sei qual seria a
melhor maneira de fazer isto.
Obrigado
Mauricy
- Ajuda para cálculo,
Mauricy Maiorino <=