使用 AWK 拆分以“”分隔的元素

Using AWK to split elements separated by " "

我有一个 .csv 文件,其中包含三个我想进一步分离的元素。文件中的行如下所示:

gene_id "ENSDARG00000104632", gene_version "2", gene_name "RERG"
gene_id "ENSDARG00000104632", gene_version "2", transcript_id "ENSDART00000166186"
gene_id "ENSDARG00000104632", gene_version "2", transcript_id "ENSDART00000166186"

我想把 " " 中的字符串变成自己的元素,用 ,

分隔

基本上我希望它看起来像这样:

gene_id, ENSDARG00000104632, gene_version, 2, gene_name, RERG
gene_id, ENSDARG00000104632, gene_version, 2, transcript_id, ENSDART00000166186
gene_id, ENSDARG00000104632, gene_version, 2, transcript_id, ENSDART00000166186

我本来想这样做的:

awk 'BEGIN{OFS=",";FS="""};{print ,,,,,}'

但是,AWK 似乎无法将 " 识别为定界符。有人对如何实现这一点有建议吗?

$ awk -F'[ ",]+' -v OFS=', ' '{sub(/"$/,""); =} 1' file
gene_id, ENSDARG00000104632, gene_version, 2, gene_name, RERG
gene_id, ENSDARG00000104632, gene_version, 2, transcript_id, ENSDART00000166186
gene_id, ENSDARG00000104632, gene_version, 2, transcript_id, ENSDART00000166186