特定の列にのみ二重引用符を挿入する

特定の列にのみ二重引用符を挿入する

3番目の列の形式を変更する必要があるファイルがあります。

以下は.gtfファイルのサンプル行です(タブで区切られています)。

chr1    CAT     gene_id=RP11-54O7.16;transcript_id=ENST00000607769.1-1;
chr1    CAT     gene_id=RP11-54O7.16;transcript_id=ENST00000607769.1-2;

等号を削除し、次のように遺伝子名と成績表名の周りに引用符を入れる必要があります。

chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-1";
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-2";

これがawk私がorで達成できることですsedか?私の主な問題は、最後の列に引用符を複数回挿入することです。

ベストアンサー1

このように:

sed 's/=/ "/g; s/;/";/g' file.gtf

または

sed -e 's/=/ "/g' -e 's/;/";/g' file.gtf

chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-1";
chr1    CAT     gene_id "RP11-54O7.16";transcript_id "ENST00000607769.1-2";

おすすめ記事