cat -n and grep

I am not sure if using cat -n is the most efficient way to split a file into multiple files, one file per line in the source file.
I thought using cat -n would make it easy to process the file because it produces an output that numbers each line that I could then grep for with the regex "^ *$i". But, I find it hard to reduce the output to be just the line number shown in $i. I am trying to add spaces after the variable to reduce the output. But that has the effect of producing no output.

i=6 && cat -n qso | egrep "^ *$i"
     6  vvv vvv vvv km2a km2a de a8dd. r r r tnx fer call kevin. name reggie. your rst is 569. rig is ic738 es running 50 watts. my antenna is a 4 el beam. i live in lansing, michigan. here, the weather is damp, temp is 50 f. been a ham for 10 years. during the day im a brewer. over to you kevin. km2a de a8dd+

i=6 && cat -n qso | egrep "^ *$i " produces nothing.

The file named qso contains multiple lines of text.
My goal is to parse qso and send each line to its own file using the naming convention qso(n) for the individual files. an example of the first two lines of qso follows:

vvv vvv vvv kq2k de w7ghl w7ghl. tnx ricky. ur rst is 456 456 wid qsb. name hr is jimmy. rig here is an icom ic
706ii with 400 watts. im using a 3 el yagi. the qth is boise, idaho. hr wx is a bit overcast, temp is 29 f. i w
ork as a beautician. been licenced since 1953. bk to you. kq2k de w7ghl+kn ^M
vvv vvv vvv a5ln/0 a5ln/0 a5ln/0 de w6os. thanks for the call pam. name jane. ur rst 367 367 with qrm. i live i
n oceanside oceanside, california. i have a ft2000 es running 500 watts. ant is g5rv. wx here is nice. ive been
a ham since 1907. i work hr as a policeman. back to you pam, 73 es cu agn. a5ln/0 de w6os *^M

My failed attempt to begin making a regex to parse follows:
i=1 && cat -n qso | egrep "^ *$i "

any time I add a space after $i in the regex, it no longer matches anything.

awk '{print >NR ".txt"}' qso

The reason

egrep "^ *$i "

catches nothing is that the space behind $i is in fact a tab character so you would have to grep for that instead of space (use ctrl-v TAB).

To put an individual line in a separate file, you can use:

i=6;sed -n ${i}p qso > qso$i

rdcwayx has given a good solution for putting each line in a different file.

awk '{print > FILENAME NR}' qso