我的文件夹中有 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