how to access values of awk/nawk variables outside the awk/nawk block?

i'm new to shell scripting and have a problem please help me

in the script i have a nawk block which has a variable count

nawk{
.
.
.
count=count+1
print count

}

now i want to access the value of the count variable outside the awk block,like..

s=`expr count / m`

(m is a shell variable )

i came across how to access shell variables inside the awk block,but is it possible to access the values of awk variables outside the awk block?

please help me
thanks in advance.

count=$(nawk '{
.
.
.
count=count+1
print count

}' )

its not working...anyways thanks

my exact problem is that i hav a log file file and i need to monitor the log file,it has lines like...

19 Mar 01:01:17:845 [Servlet.Engine.Transports : 3] AUDIT event.platform.interactionCompleted - name=,duration=9247 (IID=0003080248636880, TID=0030000248650301, CAPPID=000C0546517C)

here i have to extract the duration value i.e 9247 and compare it with a timeout threshold value,if it is greater than that value,count all such lines.
then find out a ratio of time out counts to count of total interactions.i wrote a script like

TRNSthreshold=5000
nawk -v v1=$TRNSthreshold '/interactionCompleted/ {var1=$10
if ((x=(index(var1,","))) > 0)
{
  time=(substr(var1,x+1,length(var1)))
     if((y=(index(time,"="))) > 0)
      {
       t=0+(substr(time,y+1,length(time)))
      }

}
if (t > v1)
{
print "duration greater than threshold value: " t
count=count+1
print "count of interactions timed out " count
}
}' 0003080248636880.txt

m=`grep -c "interaction Completed" 0003080248636880.txt`
echo "total count of interactions" $m

s=`expr $count / $m`
echo "ratio is " $s

my problem is i am nt able to access the value of count outside the awk block.
please help me.thanks in advance

You're better off calculating the ratio inside the awk script too, besides expr can't do percentages, just integer arithmetic (sic).

In the more general case, make your awk script print whatever you want to smuggle back out to the shell, and run it in backticks, like you're doing with grep -c now to get the count of interactions.

The fact that you can pass in a string representing an awk program doesn't mean you get access to awk's internal state once it's running, any more than you can get access to grep's inner state once it's running. You can pass in input, and get back output.

}

}
if (t > v1)
{
print "duration greater than threshold value: " t
count=count+1
print "count of interactions timed out " count
}
}' 0003080248636880.txt

Change print statement to

print count

Hi Saniya,

Try this

#!/bin/ksh

count=0
Threshold=5000
while read line
do
val=`echo $line | cut -d" " -f10 | cut -d"=" -f3`
if [ $val -ge $Threshold ]
then
count=`expr $count + 1`
fi
done < 0003080248636880.txt

echo "Number of Values above threshold is $count"

total=`grep -c "interactionCompleted" 0003080248636880.txt`
echo "Total is $total"
s=`echo "scale=4 ; $count/$total" | bc `
echo "Average is $s"

Thanks
Penchal