我有几个这样的文件:
sub_TK273759_R1.fastq
sub_TK273759_R2.fastq
sub_TK273763_R1.fastq
sub_TK273763_R2.fastq
sub_TK273766_R1.fastq
sub_TK273766_R1.fastq
如何重命名所有文件,如下所示:
TK273759_R1.fastq
TK273759_R2.fastq
TK273763_R1.fastq
TK273763_R2.fastq
TK273766_R1.fastq
TK273766_R2.fastq
答案1
有两个版本rename
。根据您拥有的版本,其中一个适合您:
rename sub_ '' sub_* # rename -V -> "rename from util-linux 2.33.1"
rename 's/^sub_//' sub_* # rename -V -> "Unknown option: V"
如果目标文件名已经存在,这两个将反对。
或者,您可以使用循环,但效率要低得多:
for f in sub_*
do
mv "$f" "${f#sub_}"
done
如果目标文件名已经存在,这将默默地覆盖它