Объединить файлы подсчета в один файл и сохранить нулевые значения

У меня есть несколько файлов подсчета, которые выглядят так:

 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 файлов, и я хочу объединить второй столбец каждого файла в один большой файл.

Я знаю, что этот вопрос уже задавался, и я нашел здесь подобное. Как объединить столбец из нескольких текстовых файлов?

Я использовал ответ из предыдущего вопроса для моей проблемы:

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, но ни один не работает. Как я могу решить эту проблему?

1 ответ

Вы выбрали плохой "ответ", чтобы продолжить. Попробуй это:

paste  *.tab |
awk '{for (i=2; i<=NF; i+=3) printf "%s%s", (i>2?OFS:""), $i; print ""}'
Другие вопросы по тегам