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

[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







reply via email to

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