Extracting part of line between two words

Hi,
I have a file few hundred MB's with text like one below in single line.

20091117 abc xyg 20091117 def ghi 20091118 ppp ttt 20091118 zzz zzz xxx

I need to extract part of line from 1st occurence of pattern 20091117
till first occurence of another pattern 20091118.

I tried awk '/20091117/,/20091118/' test

but it list line after 20091118.

20091117 abc xyg 20091117 def ghi 20091118 ppp ttt 20091118 zzz zzz xxx

any help??

sed 's/2009/\n2009/g' urfile |grep 20091117
 sed -n '/20091118/s/20091118.*/20091118/;s/20091117/\n20091117/;s/.*\n//p' file 
$ awk '{for (i=1;i<=NF;i++) {if ($i=="20091117")  {printf "%s %s %s ",$i,$(i+1),$(i+2); i+2}}}' urfile
20091117 abc xyg 20091117 def ghi