이 .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

관련 정보