You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用awk命令修改VCF格式文本:替换字段参数与新增行的实现方案咨询

使用Awk修改VCF文件头的解决方案

当然可以!只需要一条Awk命令就能完成这两处修改,无需拆分操作。以下是具体的命令和详细说明:

awk '
/##FORMAT=<ID=PL,Number=\./ { sub(/Number=\./, "Number=G"); print; next }
/##INFO=<ID=AF,Number=\./ { print; print "##INFO=<ID=QualityScore,Number=.,Type=Float,Description=\"Quality score\">"; next }
1' 你的输入文件.vcf > 修改后的输出文件.vcf

命令细节解释:

  1. 修改PL格式行的Number参数:

    • 正则表达式 /##FORMAT=<ID=PL,Number=\./ 精准定位到包含##FORMAT=<ID=PL,Number=.的目标行
    • sub(/Number=\./, "Number=G") 把该行中的Number=.替换为Number=G
    • 打印修改后的行并通过next跳过后续规则,避免重复处理
  2. 插入新的QualityScore信息行:

    • 正则表达式 /##INFO=<ID=AF,Number=\./ 匹配到AF信息行
    • 先打印原AF行,紧接着打印新增的##INFO=<ID=QualityScore,...>行
    • 同样用next跳过后续规则,确保逻辑清晰
  3. 保留其他所有行:

    • 最后的1是Awk的极简写法,代表对所有未被上述规则匹配的行执行默认操作——直接打印原内容,保证其他行不受影响

使用小贴士:

  • 请将你的输入文件.vcf和修改后的输出文件.vcf替换为你实际的文件名
  • 建议先输出到新文件,确认修改正确后再覆盖原文件;如需原地修改,可使用 awk '...' input.vcf > temp && mv temp input.vcf,但务必提前备份原文件以防意外

内容的提问来源于stack exchange,提问作者shbrainard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 15:07:40