Не могли бы вы попробовать следующее.
awk '
BEGIN{
OFS=","
}
{
a[$1]=(a[$1]?a[$1] OFS:"")$2
}
END{
for(i in a){
print i FS a[i]
}
}
' Input_file
Объяснение: Добавление подробного объяснения для кода выше.
awk ' ##Starting awk program from here.
BEGIN{ ##Starting BEGIN section from here.
OFS="," ##Setting OFS as comma here.
} ##Closing BLOCK for BEGIN section of this code.
{ ##Starting main BLOCK from here.
a[$1]=(a[$1]?a[$1] OFS:"")$2 ##Creating an array named a whose index is $1 and value is $2.
}
END{ ##Starting END BLOCK for this awk program.
for(i in a){ ##Starting for loop traversing through array a.
print i FS a[i] ##Printing variable i,FS and value of array a.
}
}
' Input_file ##Mentioning Input_file name here.