通过bash脚本根据文件夹名称重命名带有.jpg扩展名的文件

Pra*_*tha 8 linux bash shell

我的文件夹及其子文件夹中有.jpg文件.

image/1/large/imagexyz.jpg 
image/1/medium/imageabc.jpg
image/1/small/imagedef.jpg
Run Code Online (Sandbox Code Playgroud)

等2,3,4 ......

我需要用其文件夹名称重命名所有图像文件.即.imagexyz.jpg应该是large_1.jpg,imageabc.jpg应该是medium_1.jpg等等.

gle*_*man 3

oldIFS="$IFS"
IFS=/
while read -r -d $'\0' pathname; do
  # expect pathname to look like "image/1/large/file.name.jpg"
  set -- $pathname
  mv "$pathname" "$(dirname "$pathname")/${3}_${2}.jpg"
done < <(find . -name \*.jpg -print0)
IFS="$oldIFS"
Run Code Online (Sandbox Code Playgroud)