用linux shell 脚本提取文件中图片,并重命名成0001\0002格式

最近因为要提取很多图片,自己的图片的数据集采用的是LFW Face Database,该数据集如下图所示。
这里写图片描述
在lfw的文件夹下,有很多的子文件夹,每一个子文件夹有一个或几张的图片,现在我需要把所有的图片提取到其他的文件夹下,并把所有的图片规范的重命名。因为这里涉及到了上万张图片,所以写了个shell脚本来帮我完成这些事,代码如下:

#!/bin/bash
echo this script is extract face_data from lfw and rename them

#第一个for循环是遍历lfw文件夹下子文件夹中的图片,并把它复制到一个名叫face的文件夹下
for faceFile in /home/douxiao/Downloads/lfw/*/*
do
   cp $faceFile  /home/douxiao/Downloads/face/
done
#第二个for循环是遍历face文件夹下的所有图片并且重命名

for name in /home/douxiao/Downloads/face/*
do 
  echo "$name"
  new=`printf "%05d\n" $i`#格式化重命名
  echo $new
  cp $name /home/douxiao/Downloads/face_rename/$new.jpg
  let i=i+1
done

效果如下图所示:
这里写图片描述


版权声明:本文为u010987458原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。