linux 之cut awk 和批量文件编码转换 shell脚本

来源:互联网 发布:销售管理系统php源码 编辑:程序博客网 时间:2024/06/08 09:16
今天的脚本是为了实现一个功能
有一个线上服务器,需要在web界面调用shell脚本,实现一键下载选定图片的功能。并且要求是用户下格式和编码方式通用,不会出文件载下来的格式未知和乱码的现象。
基本思路:
web应用传递用户选择的图片参数,通过执行shell脚本 后跟用户所选参数, 实现用户需求传入,在shell里面实现图片压缩和格式转换。(利用shell $1的参数原理,加上cut和awk处理传入参数,最后在脚本内部复制,压缩,编码转换,由web调出最终文件,下载)
脚本如下:
#!/bin/bash
################
zipname=`echo $1 | awk -F "hkrt" '{print $1}' | awk -F "/" '{print $11}'`   ###传入参数分解
zipurl=`echo $1 | awk -F "hkrt" '{print $1}' | awk -F "/" '{print | "cut -d / -f -"(NF-1)}'`   ####传入参数分解
url=`echo $1 | awk -F "hkrt" '{for (i=2;i<NF;i++) printf $i" ";print $NF}'`    ####传入参数分解
mkdir -p $zipurl/test
        for i in `echo $url`
                do
                n=`echo $i|cut -b 3-`
                cp  $n $zipurl/test
        done




        if [ $? = 0 ]
        then
                cd $zipurl/test/
                convmv -f UTF-8 -t GBK --notest *   ####这一步转换文件名称格式为windows编码方式
                zip $zipname.zip  *                         ############压缩
                mv $zipname.zip  $zipurl    
                rm -rf $zipurl/test/*                         #########删除临时文件




        fi




fi






附:
传入参数为:
/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/uus6/201403/18/2014031813563343_用户下载文件以此命名18002hkrt3_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/uus6/201403/18/2014031813450936_营业执照.jpghkrt0_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/noad/201403/18/2014031813445296_法人_身份证.jpghkrt0_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/noad/201403/18/2014031813445595_法人_身份证.jpghkrt0_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/noad/201403/18/2014031813445827_营业场所照片.jpghkrt2_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/noad/201403/18/2014031813450281_营业执照(山西).jpghkrt2_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/noad/201403/18/2014031813450536_营业执照(山西).jpghkrt4_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/noad/201403/18/2014031813451465_法人_身份证.jpghkrt4_/usr/uus2/uus/uus3-uus4-4.0.25/uus5/uusm/noad/201403/18/2014031813451978_法人_身份证.jpghkrt
0 0