Tente isto:
awk 'NF==10{print $0";transcript_id "$10", exon_id ""\""++count[$3]"\""";"}NF!=10{print $0}' file.gtf
Saída:
ChrI Coding_transcript exon 8501974 8509212 . - . gene_id "UMM-S589-0.12-gene-1";transcript_id "UMM-S589-0.12-gene-1", exon_id "1";
ChrI Coding_transcript exon 8491643 8501928 . - 0 gene_id "UMM-S589-0.12-gene-1";transcript_id "UMM-S589-0.12-gene-1", exon_id "2";
-
NF==10
verifica se o número de campos é 10.-
print $0
imprime a linha completa. -
transcript_id $10
, já que é igual a gene_id -
++count[$3]
imprime a ocerância do exon (3º campo)
-
-
NF!=10
apenas imprime a linha.