この.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

おすすめ記事