我有多个计数文件,如下所示:
File1.tab
6 10 0
49 0 53
15 0 15
0 0 0
0 0 0
0 0 0
其他档案:
File2.tab
3 1 2
29 0 29
4 0 4
0 0 0
0 0 0
0 0 0
我有超过30个文件,我想将每个文件的第二列合并为一个大文件。
我知道这个问题已经被问过了,我在这里找到了类似的How to combine column from multiple text files?
我使用上一个问题的答案来解决我的问题:
paste *.tab | awk '{i=2;while($i); {printf("%d ",$i);i+=3}printf("\n")}'
问题是没有打印零值,我得到这样的结果:
10 1
我想要这样的事情:
10 1
0 0
0 0
0 0
0 0
0 0
我嘲笑了printf格式说明符,但都没有。我该如何解决这个问题?
答案 0 :(得分:0)
你选择了一个糟糕的答案"建立在。试试这个:
paste *.tab |
awk '{for (i=2; i<=NF; i+=3) printf "%s%s", (i>2?OFS:""), $i; print ""}'