文件名的批量重命名

文件名的批量重命名

我的文件名如下:

Some Text (1).jpg
Some Text (2).jpg
..
Some Text (15).jpg
Some Text (16).jpg
..
Some Text (101).jpg
Some Text (102).jpg

我想0在数字之前添加,这样我总是有 3 个数字。上面的例子将变成:

Some Text (001).jpg
Some Text (002).jpg
..
Some Text (015).jpg
Some Text (016).jpg
..
Some Text (101).jpg
Some Text (102).jpg

有什么办法可以自动化吗?

答案1

这也可以正常工作:

for file in *.jpg
do 
  number=$(grep -Eo '[0-9]*' <<<$file)
  newname=$(sed "s/([0-9]*).txt/(0$number).txt/"<<<$file)
  #echo "old file = $file - new name=$newname"
  mv "$file" "$newname"
done

相关内容