grep wc

Hello, I am trying add all occurances of the current user into an ouputfile in a numbered list e.g. 1 ) username......

I have a problem thou, the grep seach word count is not assigning a number to the lineno variable, this is a problem and I can not seem to get it to work with various brackets and speech marks. Please help this is very frustrating.

echo "What file to search? "
read file

int=1
echo "starting Grep"

lineno=grep $USER $file | wc -l
set -- `grep $USER $file`

while [ $int -le $lineno ]
do
eval y='$'$int
echo "$int ) $y" >> usernameoutput
int=`expr $int + 1`
done
echo "finished"

Try this

echo  "$USER   $(grep -c $USER filename)" >>result_file

Hello again,
Havent responded for a while not had much time to play with this lately. And now that I return to have another go, I have the same problem.

lineno= grep -c '$user' '$file'

I don't think it is reading the file variable correctly, as at the top i have added:

echo "$file"

which returns what I expect it to, confirming that the file given by the user is valid and its reading the variable and not looking for the word file.

But when it comes to the grep count:

grep: $file: No such file or directory

username: line 26: [: 1: unary operator expected

Am I correct in thinking that the unary operator error is a result of the lineno variable being stored as a string and not as a int?

Please can someone confirm the line which will store the total count of the grep command taking user and file as arguments in a varable called lineno. This is driving me potty!!

Thanks for any help!