如何同时重命名多个文件扩展名?

问题描述

我已经提到了postpost

我的文件名如下所示(一组包含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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...