Двойные кавычки в определенном столбце с использованием awk или sed

Двойные кавычки в определенном столбце с использованием awk или sed

У меня есть следующие данные:

##gff-version 3
chr1    TAIR10  mRNA    3631    5899    .   +   .   ID AT1G01010.1 ;geneID AT1G01010 ;gene_name AT1G01010
chr1    TAIR10  exon    3631    3913    .   +   .   Parent AT1G01010.1
chr1    TAIR10  exon    3996    4276    .   +   .   Parent AT1G01010.1
chr1    TAIR10  exon    4486    4605    .   +   .   Parent AT1G01010.1
chr1    TAIR10  exon    4706    5095    .   +   .   Parent AT1G01010.1
chr1    TAIR10  exon    5174    5326    .   +   .   Parent AT1G01010.1
chr1    TAIR10  exon    5439    5899    .   +   .   Parent AT1G01010.1

Я хочу, чтобы ID, geneID и gene_name имели двойные кавычки, как в следующем выводе:

  ##gff-version 3
    chr1    TAIR10  mRNA    3631    5899    .   +   .   ID "AT1G01010.1" ;geneID "AT1G01010" ;gene_name "AT1G01010"
    chr1    TAIR10  exon    3631    3913    .   +   .   Parent "AT1G01010.1"
    chr1    TAIR10  exon    3996    4276    .   +   .   Parent "AT1G01010.1"
    chr1    TAIR10  exon    4486    4605    .   +   .   Parent "AT1G01010.1"
    chr1    TAIR10  exon    4706    5095    .   +   .   Parent "AT1G01010.1"
    chr1    TAIR10  exon    5174    5326    .   +   .   Parent "AT1G01010.1"
    chr1    TAIR10  exon    5439    5899    .   +   .   Parent "AT1G01010.1"

Я тестировал с

awk '{sub($10, "\"&\""); print}' file.gtf

Спасибо, что прочитали мой вопрос.

решение1

быстро и грязно

sed -E 's#(ID|Parent|gene_name) ([0-9A-Za-z.]+)#\1 \"\2\"#g'

Связанный контент