使用通配符进行批量重命名?

AJJ*_*AJJ 5 bash scripts rename mv

我意识到我已经以一种方式命名了一堆文件,所以我想将任何以“1”开头的文件重命名为相同的东西,除了以 2 开头。

例如mv 1.4.5.txt 2.4.5.txtmv 1-chart.jpg 2-chart.jpg等。

我试过了,mv 1* 2*但这不被接受,因为它解释2*为一个目录。

wal*_*tor 7

通配符不会这样做。看看结果echo mv 1* 2*。更好的方法是(man rename):

rename 's/^1/2/' 1*
Run Code Online (Sandbox Code Playgroud)