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

前端之家收集整理的这篇文章主要介绍了linux – 通过bash脚本根据文件夹名称重命名带.jpg扩展名的文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的文件夹及其子文件夹中有.jpg文件.
image/1/large/imagexyz.jpg 
image/1/medium/imageabc.jpg
image/1/small/imagedef.jpg

等2,3,4 ……

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

解决方法

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"

猜你在找的Linux相关文章