Originally Posted by ynneycat
Hi Anbu
Thanks for this lovely looking awk array
awk -F"," ' {
str=$1
for( i = 2 ; i <= NF - 7 ; ++i )
str=str "," $i
n=split($(NF-6),arr,":")
for( i = 1 ; i <= n ; ++i )
print str "," arr[n]
} ' file[/INDENT]
Thanks but unfortunately this doesn't work & I'm too much of a newbie to fix it. It nearly works but rather than putting the next course on each line, it just repeats the same course. Output is:
User Name,Password,ID,First Name,Last Name,Subject
jsmi3279,xxxxxx,123456789,John,Smith,LATN3490
jsmi3279,xxxxxx,123456789,John,Smith,LATN3490
jsmi3279,xxxxxx,123456789,John,Smith,LATN3490
jsmi3279,xxxxxx,123456789,John,Smith,LATN3490
jsmi3279,xxxxxx,123456789,John,Smith,LATN3490
jsmi3279,xxxxxx,123456789,John,Smith,LATN3490
glik2398,xxxxxx,123456789,Gill,Likely,PHYS4597
glik2398,xxxxxx,123456789,Gill,Likely,PHYS4597
etc etc
What I want is output that looks like
User Name,Password,ID,First Name,Last Name,Subject
jsmi3279,xxxxxx,123456789,John,Smith,XMLT1005
jsmi3279,xxxxxx,123456789,John,Smith,MATH2987
jsmi3279,xxxxxx,123456789,John,Smith,PHYS4597
jsmi3279,xxxxxx,123456789,John,Smith,FRNC3578
jsmi3279,xxxxxx,123456789,John,Smith,ITLN590
jsmi3279,xxxxxx,123456789,John,Smith,LATN3490
glik2398,xxxxxx,123456789,Gill,Likely,PHYS4597
glik2398,xxxxxx,123456789,Gill,Likely,,XMLT1001
glik2398,xxxxxx,123456789,Gill,Likely,XMLT1004
glik2398,xxxxxx,123456789,Gill,Likely,MATH2987
from input that looks like this (the input in a file hundreds of lines long - this is just the first few lines)
User Name,Password,ID,First Name,Last Name,Subject,Other,#User Type,City,#Email,#Some Field,#Another Field
jsmi3279,xxxxxx,123456789,John,Smith,XMLT1005:MATH2987:PHYS4597:FRNC3578:ITLN590:LATN3490,,,,,,
glik2398,xxxxxx,123456789,Gill,Likely,XMLT1001:XMLT1004:MATH2987:PHYS4597,,,,,,
Still pulling my hair out, but thankyou for trying to help.
-J.