Name grouping

 awk 'FNR==NR {a[$1]; next} $NF in a' genes.txt refseq_exons.txt > output.txt 

I can not figure out how to group the same name in $4 together.

Basically, all the SKI together in separate rows and all the TGFB2. Thank you :).

chr1	2160133	2161174	SKI
chr1	218518675	218520389	TGFB2
chr1	218536675	218536759	TGFB2
chr1	218578510	218578674	TGFB2
chr1	218607423	218607556	TGFB2
chr1	218607679	218607790	TGFB2
chr1	218609311	218609489	TGFB2
chr1	218610684	218610838	TGFB2
chr1	218614545	218617961	TGFB2
chr1	2234416	2234542	SKI
chr1	2234723	2234839	SKI
chr1	2235278	2235541	SKI
chr1	2235731	2236024	SKI
chr1	2237458	2237689	SKI
chr1	2238015	2241652	SKI

A quick fix could be to pipe the output through sort:

awk 'FNR==NR {a[$1]; next} $NF in a' genes.txt refseq_exons.txt |
sort -k4,4 -k1,1 -k2,3n > output.txt