我如何同时将这些 .vcf 文件转换为 txt

我如何同时将这些 .vcf 文件转换为 txt

我的文件夹中有 136 个 .vcf 文件;我想从它们中提取一些信息并将输出写入 .txt 文件,如下所示

[fi1d18@cyan01 snp]$ bcftools query -f '%CHROM\t%POS\t%REF\t%ALT[\t%ID]\n' file.vcf > file.txt

我正在手动一项一项地完成这项工作,但需要很长时间;有人可以帮助我编写任何脚本来对 Linux 中的所有文件执行此操作吗?

谢谢

答案1

转到包含文件的文件夹,然后循环浏览这些文件。用于"$f"输入和"${f%.*}.txt"输出文件名

${f%.*}将从文件名中去除扩展名(通过)。

for f in *.vcf; do
    bcftools query -f '%CHROM\t%POS\t%REF\t%ALT[\t%ID]\n' "$f" > "${f%.*}.txt"
done

相关内容