test.txtに入力した内容は次のとおりです。
month,var1,var2
June,10,a
Sep,20,b
Dec,30,c
私が望む出力は
month,variable,value
June,var1,10
June,var2,a
Sep,var1,20
Sep,var2,b
Dec,var1,30
Dec,var2,c
2番目の列から始まる列数は動的です。 2つの列または100の列を持つことができます。 awkを使用してデータをどのように転置できますか?
ベストアンサー1
努力する
$ awk -F, '
BEGIN{OFS=FS}
NR==1{n = split($0,a); print "month,variable,value"; next}
{for(i=2;i<4;i++) print $1,a[i],$i}
' file
month,variable,value
June,var1,10
June,var2,a
Sep,var1,20
Sep,var2,b
Dec,var1,30
Dec,var2,c
(これは前歯というよりは爆発に近いです。)