1. 程式人生 > >Shell 批量修改檔名

Shell 批量修改檔名

批量修改圖片檔名,修復副檔名

嘖嘖

#!/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