Объединить файлы подсчета в один файл и сохранить нулевые значения
У меня есть несколько файлов подсчета, которые выглядят так:
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 ""}'