批量重命名映像文件,但使扩展名与Linux相同

时间:2018-12-26 20:39:38

标签: bash rename

OS-Ubuntu 16.04

我在各种格式的文件夹(.jpg .jpeg .png等)中有700多张图像。我想通过该图片的编号来重命名它们 例如- 说我有3张图片

S.jpg
K.jpg
C.jpg

我希望使用他们的名字

1.jpg
2.jpg
3.jpg

请注意,所有文件都不是.jpg

我查阅了以下文章,但对我没有使用shell的经验没有帮助-https://www.tecmint.com/rename-multiple-files-in-linux/

2 个答案:

答案 0 :(得分:1)

可以做到以下简单的事情:

i=0; for f in *.*; do mv -- "$f" "$((++i)).${f##*.}"; done

如果需要指定扩展名,请使用:for f in *.jpg *.png ...

答案 1 :(得分:-2)

$ ls
C.jpg   K.jpg   S.jpg   w.png   x.jpeg
$ i=0 ; for file in $(find . \( -name "*.png" -or -name "*.jpg" -or -name "*.jpeg" \) ) ; do let i++ ;   mv -v $file  $i."${file##*.}" ; done
./C.jpg -> 1.jpg
./K.jpg -> 2.jpg
./S.jpg -> 3.jpg
./w.png -> 4.png
./x.jpeg -> 5.jpeg