通过添加一个字符重命名多个目录

通过添加一个字符重命名多个目录

我有多个文件夹,名称如下:

Name1  
Name2  
...  
Name9  
Name10  
Name11  
...  

我需要使用mv命令将它们重命名为:

Name01  
Name02  
...  
Name09  
Name10  
Name11  
...  

有任何想法吗?

答案1

您似乎实际上只重命名了 1-9,因此极大地简化了事情:

for f in `seq 0 9`
do
  mv Name${f} Name0${f}
done

如果你开始进入三位数,事情会变得有点复杂,但并非不可克服:

for f in `seq 0 95`
do
  g=`printf %03.f $f`
  mv Name${f} Name${g}
done

答案2

rename -v 's/(\w)(\d)$/${1}0${2}/' Name[0-9]

相关内容