我想创建一个列表中的表格。 这是输入:
Cluster 0
Sequenz 1
Sequenz 2
Cluster 1
Sequenz 3
Cluster 2
Sequenz 4
sequenz 5
Sequenz 6
Sequenz 7
我希望输出采用表格格式,其中第一列以标题标签" Cluster 0"开头。在下面的行中有顺序1和2.下一列以" Cluster 1"开头。并且下面的行中有Sequenz 3,依此类推。
什么方法和语言最适合这个?
答案 0 :(得分:1)
不清楚你对输出的喜好。有人这样吗?
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
cluster 0 cluster 1 cluster 2
1 3 4
2 5
6
7
这会将所有数据存储到数组data
中,然后将其打印出来。