将行转置为列

时间:2016-09-19 20:45:09

标签: bash awk sed calc

我有一个超过2.5k行的文件,如下所示。

NAME    TYPE    A   B   C
JOHN    T1  10,00   19,00   65,00
JOHN    T2  11,00   23,00   64,00
JOHN    T3  12,00   33,00   34,00
JOHN    T4  13,00   34,00   32,00
PAUL    T1  14,00   43,00   23,00
PAUL    T2  15,00   90,00   34,00
PAUL    T3  16,00   32,00   56,00
PAUL    T4  20,00   45,00   65,00
RINGO   T1  25,00   60,00   87,00
RINGO   T2  24,00   30,00   23,00
RINGO   T3  31,00   20,00   54,00
RINGO   T4  75,00   10,00   12,00
GEORGE  T1  17,00   11,00   98,00
GEORGE  T2  65,00   12,00   47,00
GEORGE  T3  98,00   42,00   86,00
GEORGE  T4  32,00   43,00   37,00

我需要重新排列数据,以便每个名称只显示一行。因此,最初以行显示的4种类型必须显示在新列中,如下所示:

NAME    A/T1    A/T2    A/T3    A/T4    B/T1    B/T2    B/T3    B/T4    C/T1    C/T2    C/T3    C/T4
JOHN    10,00   11,00   12,00   13,00   19,00   23,00   33,00   34,00   65,00   64,00   34,00   32,00
PAUL    14,00   15,00   16,00   20,00   43,00   90,00   32,00   45,00   23,00   34,00   56,00   65,00
RINGO   25,00   24,00   31,00   75,00   60,00   30,00   20,00   10,00   87,00   23,00   54,00   12,00
GEORGE  17,00   65,00   98,00   32,00   11,00   12,00   42,00   43,00   98,00   47,00   86,00   37,00

任何帮助都会被贬低.... 在此先感谢!!!!

0 个答案:

没有答案