2016-06-14 6 views
0

awkを使用してファイルをグループ項目に転記したいと考えています。 Tksグループに対してawkを使用してファイルを転置する

私はこのようなファイルを持っています。

id Name Value 

1 B1 0.1 

1 B2 0.3 

1 B3 0.4 

2 B1 0.2 

2 B2 0.09 

2 B3 0.10 

私はこのようなファイルをしたい:

B1 B2 B3 
1 0.1 0.3 0.4 
2 0.2 0.09 0.10 
+0

あなたがこれまでに試みていると、何がそれで何が悪かったのか、コードを示している場合は、SOに多くの友好レセプションを取得します。 – John1024

+0

通常、私はRでそれを行いますが、大きなファイルがあるので、行の制限に問題がありました。 – user2386222

答えて

1
$ cat tst.awk 
BEGIN { OFS="\t" } 
NR==1 { next } 
(prev != "") && ($1 != prev) { 
    if (++nr == 1) { 
     print hdr 
     rec = prev rec 
    } 
    print rec 
    hdr = "" 
    rec = $1 
} 
{ 
    hdr = hdr OFS $2 
    rec = rec OFS $3 
    prev = $1 
} 
END { print rec } 

$ awk -f tst.awk file 
     B1  B2  B3 
1  0.1  0.3  0.4 
2  0.2  0.09 0.10 
関連する問題