chenqb 发表于 2018-8-19 11:50:12

【shell】重命名文件扩展名

  有的时候,我们需要对文件名做一些操作 如 将指定目录的所有 *.gif 文件都重命名为 *.jpg 写了个小脚本
  内容如下:
  $ ls                                                      ## 查看下文件名
  1.gif2.gif3.gif4.gifa   re_name.sh
  $ cat re_name.sh                                 ## 查看脚本内容
  #!/bin/bash
  ##用法 re_name.sh old_suffix new_suffix
  ##目录信息,以及参数错误返回值
  D=`pwd`
  ER_PAR=66
  ##判断参数个数是否小于2,是则退出脚本返回错误值
  case $# in
  0|1)
  echo "Usage: `basename $0` old_file_suffix new_file_suffix"
  exit $ER_PAR
  ;;
  esac
  ### 改名
  cd ${D}
  for filename in *.$1
  do
  mv ${filename} ${filename%$1}$2
  done
  exit 0
  $ bash re_name.sh gif jpg                ## 执行脚本
  $ ls                                                ## 查看已经改过来了
  1.jpg2.jpg3.jpg4.jpga    re_name.sh
  $ bash re_name.sh gif                        ##如果就填写一个参数 会推出报错
  Usage: re_name.sh old_file_suffix new_file_suffix
  好啦,改名的脚本,写完了。。。。可以用

页: [1]
查看完整版本: 【shell】重命名文件扩展名