У меня есть файл с разделителями табуляции
1A 21 . SMO gene_start
1A 3940 . SMO gene_end
1A 52236 . LOC105758527 gene_start
1A 55001 0.469590
1A 65001 0.067909
1A 75001 0.220712
1A 78812 . LOC105758527 gene_end
1A 79831 . LOC100218126 gene_start
1A 85001 0.174872
1A 93700 . LOC100218126 gene_end
1A 96312 . LOC105758528 gene_start
1A 98792 . LOC105758528 gene_end
1A 115136 . LOC105758529 gene_start
1A 125001 0.023420
1A 126187 . LOC105758529 gene_end
...
, и мне нужно заполнить пустые поля в столбце 4, повторив то, что находится прямо над ним.
1A 21 . SMO gene_start
1A 3940 . SMO gene_end
1A 52236 . LOC105758527 gene_start
1A 55001 0.469590 LOC105758527
1A 65001 0.067909 LOC105758527
1A 75001 0.220712 LOC105758527
1A 78812 . LOC105758527 gene_end
1A 79831 . LOC100218126 gene_start
1A 85001 0.174872 LOC100218126
1A 93700 . LOC100218126 gene_end
1A 96312 . LOC105758528 gene_start
1A 98792 . LOC105758528 gene_end
1A 115136 . LOC105758529 gene_start
1A 125001 0.023420 LOC105758529
1A 126187 . LOC105758529 gene_end
...
Я делаю
awk 'NF==5{v=$4;print} NF==3{print v,$0}' file
, но я получаю это
1A 21 . SMO gene_start
1A 3940 . SMO gene_end
1A 52236 . LOC105758527 gene_start
LOC105758527 1A 55001 0.469590
LOC105758527 1A 65001 0.067909
LOC105758527 1A 75001 0.220712
1A 78812 . LOC105758527 gene_end
1A 79831 . LOC100218126 gene_start
LOC100218126 1A 85001 0.174872
1A 93700 . LOC100218126 gene_end
1A 96312 . LOC105758528 gene_start
1A 98792 . LOC105758528 gene_end
1A 115136 . LOC105758529 gene_start
LOC105758529 1A 125001 0.023420
1A 126187 . LOC105758529 gene_end
Не могу сказать, что изменить
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx