首页 > 解决方案 > 用特定单词重命名多个文件

问题描述

我知道这个问题已经被问过很多次了,但是我对使用命令行很陌生,无法弄清楚我有多个文件的名称是这样的

SRR10984718_dbGaP-26719.sra
SRR10984540_dbGaP-26719.sra
SRR10984788_dbGaP-26719.sra

我想将它们重命名如下

SRR10984718.sra
SRR10984540.sra
SRR10984788.sra

我感谢您的帮助

标签: rename

解决方案


您可以直接使用用户renaemperl ,也可以使用一点点shell脚本。

通常我直接使用Perl

$ ls -1
SRR10984540_dbGaP-26719.sra
SRR10984718_dbGaP-26719.sra
SRR10984788_dbGaP-26719.sra
$
# dry run
$ perl -le '($old=$_) && s/_dbGaP-26719//g && print for <*.sra>'
SRR10984540.sra
SRR10984718.sra
SRR10984788.sra
$
# rename
$ perl -le '($old=$_) && s/_dbGaP-26719//g && rename($old,$_) for <*.sra>'
$
# test 
$ !ls
ls -1
SRR10984540.sra
SRR10984718.sra
SRR10984788.sra

这部分s/_dbGaP-26719//g用于匹配和替换。相应地更改所需的模式(例如_dbGaP-26719)。


推荐阅读