给某个目录下面的文件改名

下面的代码展示了如何将某个目录下面的所有文件的后缀名改成需要的后缀名。

 

首先从$BABY_CAMERA_TEMP_DIR中找到后缀名为JPG和MP4的所有文件名,然后逐个处理,如果是JPG文件,则把后缀名改成jpg,同时在原来的文件名前面加上MODIFY的日期(20121213,2012年12月13号修改),如果是MP4文件,则只在原来的文件名前面加上MODIFY的日期

 

 find $BABY_CAMERA_TEMP_DIR -name "*.JPG" -o -name "*.MP4" | \
      while read fullname; do
        dir_name=$(dirname $fullname)
        filename=$(basename $fullname)
        filesuffix=$(echo $filename | cut -d "." -f2)
        [[ $filesuffix == "JPG" ]] && new_filename=$(echo "$(stat $fullname --printf=%y | cut -d " " -f1 | sed 's/-//g')$filename" | cut -d "." -f1).jpg
        [[ $filesuffix == "MP4" ]] && new_filename=$(stat $fullname --printf=%y | cut -d " " -f1 | sed 's/-//g')$filename
        new_fullname=$dir_name/$new_filename
        mv $fullname $new_fullname
    done
 

你可能感兴趣的:(linux)