在linux中将行转换为列

在linux中将行转换为列,linux,unix,Linux,Unix,输入(在文件中)如下所示- IndexName ColumnName Ind1 Col1 Ind1 Col2 Ind2 Col3 现在如何使用linux生成以下输出,请使用sed或awk或其他内置函数- IndexName ColumnName Ind1 ("Col1","Col2") Ind2 ("Col3") 谢谢,这里有一些难看的awk,我相信它可以写得更优雅。此外,

输入(在文件中)如下所示-

IndexName      ColumnName
Ind1           Col1
Ind1           Col2
Ind2           Col3
现在如何使用linux生成以下输出,请使用sed或awk或其他内置函数-

IndexName      ColumnName
Ind1           ("Col1","Col2")
Ind2           ("Col3")

谢谢,

这里有一些难看的awk,我相信它可以写得更优雅。此外,对于记录,这是更多的“字符串聚合”,而不是“转置”

还有朋友。更一般地说。
awk -v quote='"' 'NR==1{print $0}NR>1{a[$1]=a[$1]","quote$2quote}END{for (ind in a){print ind, "("substr(a[ind], 2, length(a[ind])-1)")"}}'