grepping many values from same files

Hi All,

I am having a script in which I am greping some values and storing them from files with .err and .log extensions.
I feel I can do it better.But How?

Below is my piece of code.

oneerrors=`egrep -i -n "one" *.err *.log`
twoerrors=`egrep -i -n "two" *.err *.log`  
threeerrors=`egrep -i -n "three" *.err *.log | grep -v "threeException"`
fourerrors=`egrep -i -n "four" *.err *.log`
fiveerrors=`egrep -i -n "five" *.err *.log | grep -v "fivefile" | grep -v "five:"`
sixerrors=`egrep -i -n "six" *.err *.log`
sevenerrors=`egrep -i -n "seven" *.err *.log | grep -v "SREE_seven" | grep -v "SRE_seven" | grep -v "VALUE_seven" | grep -v "PRODUCT_seven"`
eighterrors=`egrep -i -n "eight" *.err *.log`
nineerrors=`egrep -i -n "nine" *.err *.log`
tenerrors=`egrep -i -n "ten" *.err *.log`
elevenerrors=`egrep -i -n "eleven" *.err *.log`
twelveerrors=`egrep -i -n "twelve" *.err *.log`

Can I put everything in a if loop or do something to optimize this piece of code?

Thanks to All.

awk 'BEGIN { 
     pat="one|two|four|five|six|eight|nine|ten|eleven|twelve"    
}
$0 ~ pat || (/three/ && !/threeException/ ) {print NR":"$0}
$0 ~ pat || (/seven/ && !/(SREE_seven|SRE_seven|VALUE_seven|PRODUCT_seven)/) {print NR":"$0}
$0 ~ pat || (/five/ && !/(fivefile|five:)/) {print NR":"$0}
' file   

Hi Ghost dog,

Thanks for your AWK code.
I am not so good at AWK.
Will I be able to store the results of each grep as in my code?