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"

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...