欢迎来到李先生的博客

深山的鹿,不知归处;万般皆苦,只可自渡。
扩大
缩小

shell(2)图片重命名

1:图片重命名  

原来的图片名字格式:

改成的图片名字格式:

 

    #!/bin/bash  
    #重命名 .png和.jpg  
    #如果原文件的图片名称是从0开始,那么count=0;从1开始,那么count=1  
      
    count=1;  
    set -x  
    for img in `find . -name '*.png'|sort ${png#.*}`  
    do  
        if [ $count -ge 10 ];then  
            new=0$count.png  
        else  
            new=00$count.png  
        fi  
      
             mv "$img" "$new"  
             let count++  
    done  

 

需求: 1:在保留扩展名的同时修改文件名,转换文件格式,提取部分文件名

            2:在保留文件名的时候,修改扩展名

1:借助%操作符将名称从“名称.扩展名“这种格式中提取出来。
     file_jpg="sample.jpg"
     name=${file_jpg%.*}
     echo $name   ===> sample

2:借助#操作符将扩展名从“名称.扩展名”这种格式中提取出来。
      file_jpg="sample.jpg"
      name=${file_jpg#*.}
      echo $name  ===> jpg

理解:
           ${var%.*}  删除.后面的(.*)
           ${var#*.}   删除.前面的(*.)
 
           %            #:非贪婪型(non-greedy)
           %%        ##:贪婪型

区别:
           URL=“www.google.com”
           echo "${URL%.*}"      ====>www.google
           echo "${URL%%.*}"   ====>www
           echo "${URL#*.}"       ====>google.com
           echo "${URL##*.}"     ====>com

posted on 2016-08-22 15:02  Captain_Li  阅读(502)  评论(0编辑  收藏  举报

导航