Awk 将列表转换为表

Awk 将列表转换为表,awk,formatting,string-formatting,tabular,Awk,Formatting,String Formatting,Tabular,我想从列表中创建一个表。 这是输入: Cluster 0 Sequenz 1 Sequenz 2 Cluster 1 Sequenz 3 Cluster 2 Sequenz 4 sequenz 5 Sequenz 6 Sequenz 7 我希望输出为表格格式,其中第一列以标题标签“Cluster 0”开头,下面的行中有顺序1和2。下一列以“cluster1”开头,下面的行中有sequenz3,依此类推 什么样的方法和语言最适合这种情况 不清楚您希望输出结果如何。像这样的 awk ' /Clu

我想从列表中创建一个表。 这是输入:

Cluster 0
Sequenz 1 
Sequenz 2
Cluster 1
Sequenz 3
Cluster 2
Sequenz 4
sequenz 5
Sequenz 6
Sequenz 7
我希望输出为表格格式,其中第一列以标题标签“Cluster 0”开头,下面的行中有顺序1和2。下一列以“cluster1”开头,下面的行中有sequenz3,依此类推


什么样的方法和语言最适合这种情况

不清楚您希望输出结果如何。像这样的

awk '
/Cluster/ {
    c=$2
    col++
    b=1
    next}
    {
    data[c FS b++]=$2
    row=row<b?b:row} 

END {
    for (i=0;i<col;i++) 
        printf "%-12s","cluster "i
    print ""
    for (j=1;j<row;j++) {
        for (i=0;i<col;i++) printf "%-12s",data[i FS j]
        print ""}
    }
' file
这会将所有数据存储到数组
data
中,然后将其打印出来

cluster 0   cluster 1   cluster 2
1           3           4
2                       5
                        6
                        7