com awk :
awk -F"[ ,]" '{for(i=2;i<=NF;i++){print $1,$i;}}' file
-
-F"[ ,]": o delimitador está configurado para espaço e vírgula. Agora temos em$1o primeiro nome e em$2para o último campo os sobrenomes. -
for(i=2;i<=NF;i++): Faz um loop em todos os campos, começando pelo campo 2.-
print $1,$i;: imprime o primeiro nome seguido do sobrenome.
-
A saída:
John Smith
John Jones
John Taylor
Janet Williams
Janet Brown
Janet Wilson