根据模式重命名文件

根据模式重命名文件

可能的重复:
批量重命名文件

让我们假设我有六个文件,名为:

1.a, 1.b, 1.c
2.a, 2.b, 2.c

其中 a、b、c 是文件扩展名,例如 sh、txt 等。

现在,我想用1.a, 1.b, 1.csay5.a, 5.b, 5.c和.重命名文件。这里和都是用户提供的输入。2.a, 2.b, 2.c6.a, 6.b and 6.c26

答案1

没有尝试过,但应该可以

$ rename 's/1/5/' 1.*
$ rename 's/2/6/' 2.*

重命名手册页

答案2

这里有一个 bash 函数可以解决这个问题:

do_rename() {
   oldnum=$1 # assign parameters for clarity
   newnum=$2

   for f in "$oldnum".*; do # get all files matching the old number
       mv "$f" "$newnum"."${foo##*.}" # use a parameter expansion to get the exetension of the current filename
   done
}

答案3

单程:

#!/bin/bash

for num in 1 2
do
    read -p "Enter new val for files starting with $num :" val
    for i in ${num}*.[abc]
    do
            ext=${i##*.}
            mv $i "$val.$ext"
    done
done

相关内容