フォルダには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