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
有一个线上服务器,需要在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
- linux 之cut awk 和批量文件编码转换 shell脚本
- shell批量文件编码转换
- shell 脚本之 cut awk sed 命令详解
- linux下GBK->UTF-8文件编码批量转换脚本
- linux下GBK->UTF-8文件编码批量转换脚本
- linux 下 GBK-UTF-8文件编码批量转换脚本
- shell脚本之cut
- shell脚本awk, sed, cut的妙用
- linux批量转换文件编码
- Linux批量转换文件编码
- shell 脚步批量转换文件编码
- linux-shell脚本命令之awk
- Shell脚本之awk
- shell脚本之awk
- linux批量修改文件后缀名shell脚本
- linux批量修改文件后缀名shell脚本
- linux批量修改文件字符集shell 脚本
- shell脚本 批量转换目录下文件编码
- Linux cpumask分析
- 涨工资 拓展一
- Tomcat配置之content.xml
- linux常用命令收藏
- 欧拉路径 hdu 3018 Ant Trip
- linux 之cut awk 和批量文件编码转换 shell脚本
- 滚动条下拉DIV固定在头部不动
- uva 10183 - How Many Fibs?(Fibonacci)
- ThinkPHP操作笔记(二)
- spring定时器
- 分页查询发电量评估纵向历史对比数据(项目保留)
- c# asp.net 新建项目与新建网站区别
- Flex xml编辑器(老外写的)
- springMVC传参中会出现中文乱码