我有几个.vcf.gz文件:
subset_file1.vcf.vcf.gz
subset_file2.vcf.vcf.gz
subset_file3.vcf.vcf.gz
我想压缩这些文件并重命名它们(一次性删除subset_
和冗余.vcf
扩展名,然后获得这些文件:
file1.vcf
file2.vcf
file3.vcf
这是我尝试过的脚本:
iFILES=/file/path/*.gz
for i in $iFILES;
do gunzip -k $i > /get/in/this/dir/"${i##*/}"
done
由于您必须在输出路径名上进行三次操作
1.删除目录部分
2.删除前缀subset_
3.删除冗余扩展.vcf
只用一个命令很难完成。
以下是修改版本。小心试试。我没有在电脑里彻底测试。
for i in /file/path/*.gz;
do
# get the output file name
o=$(echo ${i##*/} | sed 's/.*_(.*)(.[a-z]{3}){2}.*/12/g')
gunzip -k $i > /get/in/this/dir/$o
done