问题描述
我的文件名如下所示(一组包含3个相关文件)。在我的目录中,我有40组文件(即120个文件)。全部40套文件中都有3个文件的扩展名相同
设置1
button
设置2
Test_t5.version9.info.gz
Test_t5.version9.dose.vcf.gz.tbi
Test_t5.version9.dose.vcf.gz
只有文件中的版本号会在不同的集合中更改。
设置1
Test_t5.version12.info.gz
Test_t5.version12.dose.vcf.gz.tbi
Test_t5.version12.dose.vcf.gz
设置2
Test_t5.version9.info.gz
Test_t5.version9.dose.vcf.gz.tbi
Test_t5.version9.dose.vcf.bgz #see the change here from `.gz to .bgz`
我尝试了以下操作,但是在shell中执行命令时,我猜错了。
Test_t5.version12.info.gz
Test_t5.version12.dose.vcf.gz.tbi
Test_t5.version12.dose.vcf.bgz #see the change here from `.gz to .bgz`
基本上只修改每个集合中一个文件的文件扩展名。您不必担心 rename 's/dose.vcf.gz/dose.vcf.bgz/' Test_t5.version*.dose.vcf.gz
或Set 1
。那是为了让您了解我们的数据是如何分组的。
可以帮忙吗?
解决方法
您似乎只是想做:
for file in *.vcf.gz; do mv "$file" "${file%.gz}.bgz"; done