在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)")"}}'