폴더에 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