Shell 批量修改文件名

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/EI__Nino/article/details/85320202

批量修改图片文件名,修复文件扩展名

啧啧

#!/bin/bash

file_list=`ls`
output_dir='output'
if [ ! -d $output_dir ]; then
  mkdir $output_dir
  echo "\033[32m Init output dir \033[0m"
fi
file_name_index=0
for file_name in ${file_list[@]}; do

    echo "no." $((file_name_index++));
    extend=${file_name##*.}
    name=${file_name%.*}
    extend=$(echo $extend | tr '[A-Z]' '[a-z]')
    type="static"

    case "$extend" in
      "jpg"|"jpeg")
        output_ext="jpg"
      ;;
      "png")
        output_ext="png"
      ;;
      "gif")
        output_ext="gif"
        type="anim"
      ;;
      "webp")
        output_ext="webp"
        type="anim"
      ;;
      "sh")
        continue
      ;;
      *)
        output_ext=$extend
      ;;
    esac

    echo "name:" $name "\t" "ext:" $output_ext "\t" "origin:" $file_name
   
    echo "output file name:" $type"-"$file_name_index"."$output_ext;

    output_file_name=$type"-"$file_name_index"."$output_ext

    cp  $file_name "./"$output_dir"/"$output_file_name;
    echo "\033[32m cp $file_name to ./$output_dir/$output_file_name \033[0m"
done

猜你喜欢

转载自blog.csdn.net/EI__Nino/article/details/85320202