前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >线上图片批量更换脚本记录

线上图片批量更换脚本记录

作者头像
洗尽了浮华
发布2018-01-23 11:47:36
8210
发布2018-01-23 11:47:36
举报
文章被收录于专栏:散尽浮华散尽浮华

需求说明: 线上之前使用的图片没有经过处理,比较大。应产品同事要求,将图片拿出来处理后再替换之前的图片,图片名不变。

/tmp/image目录下存放的修改后的图片 [root@fangfull_web1 ~]# ls -l /tmp/image|head -10

代码语言:javascript
复制
total 66376
-rw-r--r-- 1 root root  114118 Jan 18 17:26 201407281934401406547280.jpg
-rw-r--r-- 1 root root  110450 Jan 18 17:26 201407281934511406547291.jpg
-rw-r--r-- 1 root root  156443 Jan 18 17:26 201407281937341406547454.jpg
-rw-r--r-- 1 root root   89006 Jan 18 17:26 201407281938241406547504.jpg
-rw-r--r-- 1 root root  136594 Jan 18 17:26 201407281938341406547514.jpg
-rw-r--r-- 1 root root   74327 Jan 18 17:26 201407281938551406547535.jpg
-rw-r--r-- 1 root root  114118 Jan 18 17:26 201407281940071406547607.jpg
-rw-r--r-- 1 root root  110450 Jan 18 17:26 201407281940161406547616.jpg
-rw-r--r-- 1 root root  105628 Jan 18 17:26 201407281940241406547624.jpg

线上图片存放的路径是/var/www/vhosts/www.fangfull.com/main/upload/,修改后的图片都有存放到这里 比如:注意find命令中的目标目录后面一定要加上/(比如下面的.../upload/,不能写成.../upload,否则查找不到)

代码语言:javascript
复制
[root@fangfull_web1 ~]#  find /var/www/vhosts/www.fangfull.com/main/upload/ -name 201407281934401406547280.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281934401406547280.jpg
[root@fangfull_web1 ~]#  find /var/www/vhosts/www.fangfull.com/main/upload -name 201407281934401406547280.jpg
[root@fangfull_web1 ~]# 

那么修改后的图片批量替换之前的图片的脚本如下:

代码语言:javascript
复制
#!/bin/bash
for m in `ls -l /tmp/image|awk -F" " '{print $9}'`
do
   for i in `cat /tmp/b.txt`
   do 
       for n in `ls "$i"|awk -F"/" '{print $9}'`
       do
          if [ $m == $n ];then
             \cp -f /tmp/image/$m  `cat /tmp/b.txt|grep "$m"`
          else
             echo "123" > /dev/null 2>&1
          fi
       done
   done
done

脚本解刨如下:

[root@fangfull_web1 ~]# ls -l /tmp/image|awk -F" " '{print $9}'|head -10

代码语言:javascript
复制
201407281934401406547280.jpg
201407281934511406547291.jpg
201407281937341406547454.jpg
201407281938241406547504.jpg
201407281938341406547514.jpg
201407281938551406547535.jpg
201407281940071406547607.jpg
201407281940161406547616.jpg
201407281940241406547624.jpg

[root@fangfull_web1 ~]# for i in $(ls -l /tmp/image|awk -F" " '{print $9}');do echo `find /var/www/vhosts/www.fangfull.com/main/upload/ -name "$i"` >> /tmp/b.txt;done [root@fangfull_web1 ~]# cat /tmp/b.txt |head -10

代码语言:javascript
复制
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281934401406547280.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281934511406547291.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281937341406547454.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281938241406547504.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281938341406547514.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281938551406547535.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281940071406547607.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281940161406547616.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281940241406547624.jpg
/var/www/vhosts/www.fangfull.com/main/upload/20140813/201408131047131407898033.jpg

[root@fangfull_web1 ~]# ls /var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281934401406547280.jpg |awk -F"/" '{print $9}'

代码语言:javascript
复制
201407281934401406547280.jpg

[root@fangfull_web1 ~]# cat /tmp/b.txt |grep 201407281934401406547280.jpg

代码语言:javascript
复制
/var/www/vhosts/www.fangfull.com/main/upload/20140728/201407281934401406547280.jpg
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-01-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档