Sorting a column according to the number of names

Hey,
So I'm having issues sorting a data set.
The data set contains entries as such;

# key: sex, time, athlete, athlete's nationality, date, city, country

M, 2:30:57.6, Harry Payne, GBR, 1929-07-05, Stamford Bridge, England
M, 2:5:42, Khalid Khannouchi, MAR, 1999-10-24, Chicago, USA
M, 2:5:37.8, Khalid Khannouchi, USA, 2002-04-14, London, UK
M, 2:4:48, Patrick Makau Musyoki, KEN, 2010-04-11, Rotterdam, Netherlands

I now want to sort this file according to the name of the athlete's, however, I don't want to sort it alphabetically but according to the number of names the athletes have. So for instance, I would like to sort the entire document starting with the entries of all the athletes that have 2-word names, then all the athletes with 3-word names and so on. Is this possible using sort?

I have tried various commands;

sort -k 4-5|4-6 t22 > t22a

sort -k 4,5 | sort -k 4,6 t22 > t22a

sort -kb 4 t22 > t22a

sort -k 4 -b t22 > t22a

But I haven't managed to sort the data in the way I want it.
Does anyone know what I'm doing wrong?
Thanks in advance for your help.
:smiley:

Duplicate thread - continue here.
Thread closed.