导出七牛图片

原来图片都是在本地,往外导图片特别简单,只要执行一下cp的脚本就好了,但是现在图片都迁移到了七牛上,再往外导出图片就麻烦了

在七牛有一个qshell工具

里边有一个qdownload

qdownload 从七牛空间同步数据到本地,支持只同步某些前缀的文件,支持增量同步

用的话呢qshell qdownload qdownload.conf  是这么用qdownload.conf 为配置文件

里边有这样一个配置 ,其他配置没有给出。

"prefix"    :   "",  填写图片的前缀

给我的文件时都是这样的,

cp /root/export_files/1025168/dfeafa0a-6f96-4b32-88c1-dde103b3655a/1453366970085.jpg /root/export_files/8155-003f-3115.jpg

一共2000多张......

我先把文件用一下命令截取

cat cp导出路径.txt | awk -F / ‘{print $4"/“$5}‘ > new_image.txt

得到这个格式

1025168/dfeafa0a-6f96-4b32-88c1-dde103b3655a,

那么配置文件的那行应该写成这样

"prefix"    :   "1025168/dfeafa0a-6f96-4b32-88c1-dde103b3655a",

然后我想每次执行完qshell qdownload qdownload.conf 然后自动修改prefix的路径,然后把路径改成下一个需要执行的路径,继续执行。

开始由于没有找到用”为分隔符进行分割的方法,所以就把配置文件写成了

"prefix"    :   “/1025168/dfeafa0a-6f96-4b32-88c1-dde103b3655a/",

以/为分隔符进行分割

cat qdownload.conf | grep prefix | awk -F ‘/‘ ‘{print "/"$2"/"$3"/"}‘

得到 /1025168/dfeafa0a-6f96-4b32-88c1-dde103b3655a/

测试命令:

path=/1051742/0f6faaa4-808c-4320-87a3-c95f0bdc20b5/

path1=`cat qdownload.conf | grep prefix | awk -F ‘/‘ ‘{print "/"$2"/"$3"/"}‘`

sed -i "s/$path1/$path/g" `grep prefix -rl qdownload.conf`

./qshell qdownload qdownload.conf

但是经过测试,  /1051742/0f6faaa4-808c-4320-87a3-c95f0bdc20b5/ 这个格式不能再七牛上进行下载

1051742/0f6faaa4-808c-4320-87a3-c95f0bdc20b5才可以

然后又找到了以”为分割符进行分割的方法

修改后的测试命令:

path=1051742/0f6faaa4-808c-4320-87a3-c95f0bdc20b5

path1=`cat qdownload.conf | grep prefix | awk -F ‘"‘ ‘{print $4}‘`

sed -i "s/$path1/$path/g" `grep prefix -rl qdownload.conf`

./qshell qdownload qdownload.conf

测试后,第三句没有成功

想了想才发现sed -i "s/$path1/$path/g" `grep prefix -rl qdownload.conf`

这句中的‘/‘可能和变量中‘/‘有冲突,所以导致失败

又把这句修改为

sed -i “[email protected][email protected][email protected]" `grep prefix -rl qdownload.conf才可以

最终脚本

#!/bin/bash

while read path

do

path1=`cat qdownload.conf | grep prefix | awk -F ‘"‘ ‘{print $4}‘`

sed -i "[email protected][email protected][email protected]" `grep prefix -rl qdownload.conf`

./qshell/qshell qdownload download.conf

done<image.txt

脚本完成了,就这么两句,

可是在这个过程中走了很多弯路,想过另一种循环,但是(思路太傻)排除了。顺便也学习和复习了一些vi处理文本命令和sed命令

我觉得如果使用vi命令熟练的话,用vi处理文本,比用编辑软件,更方便。

总结的命令:

1、用newstring替换文件file.txt的oldstring

sed -i "s/oldstring/newstring/g" `grep oldstring -rl file.txt`

2、以"为分割符,截取每行的第四部分

cat file.txt |  awk -F ‘"‘ ‘{print $4}‘

3、vi 处理文本

:%s/^/\//   行首加 /

:%s/$/\//    行尾加/

:%s/^\///g   行首减/

:%s/\/$//g   行尾减/

:%s/^\s*//g  行首减 空格

:g/^$/d     删除空行

:%s/oldstring/newstring/g  全部替换

:%s/oldstring/newstring/  替换每行的第一个字符串

时间: 2024-10-24 15:09:39

导出七牛图片的相关文章

ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)

七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/1237/csharp UpoladService示例代码: public class UpoladService : IUpoladService {     private readonly static string[] _imageExtensions = new string[] { ".jpg", ".png", ".gif&quo

七牛图片云存储 配置及示例

一.七牛自定义配置节点 <configSections> <section name ="QiniuConfig" type="Amy.Toolkit.QiniuStorage.SectionHandler"/> </configSections> <QiniuConfig> <add key="AccessKey" value="自己的accesskey"><

话说android端七牛图片上传

七牛图片上传业务流程如下图(这是官方的图): 由上图可知,要想实现图片上传,是要三端进行交互的(我刚刚开始以为只要七牛服务器跟客户端交互就行) 接下来步骤如下: 1.首先肯定是要有一个七牛的账号,并创建一个空间 2.客户端向业务服务器(也就是客户端的应用服务器)发请求你要上传多上张图片 3.业务服务器根据客户端的请求向七牛云存储生成token(应用的服务器下载好相应的七牛sdk然后根据接口文档所述向七牛服务器请求token,token相当于一把钥匙,具体代码我也不知道怎么实现,毕竟我不是写后台的

加速七牛图片访问的处理方案

Qiniu 七牛问题解答 有的用户对七牛的使用图片加载要求比较高,可以考虑以下的加载方案.七牛云存储可以在不改变图片质量的条件下,实现文件下载的压缩,所以使用起来更加便宜和实惠.通过一站式托管.存储+cdn访问.访问起来更快.但是还可以更快.我给大家提供几个解决方案. 问题解决方案 1,使用七牛的缩略图功能 普通图片处理接口 高级图片处理接口 2,像百度一类的网站就是多个域名访问同一页面的不同图片 因为图片访问,在浏览器中对一个域名最多请求三张图片.所以建议使用多个域名访问图片.在七牛这里你可以

yii2上传七牛图片(超详细)

其实不止是yii框架可以用, 因为只是一个类库使用,在哪个框架都可以用 前期准备 1.在七牛注册账号https://portal.qiniu.com/signup/choice 2.创建空间https://portal.qiniu.com/bucket(记住存储空间名称和存储区域) 3.创建秘钥https://portal.qiniu.com/user/key   第一步: 在composer.json里面的require属性里面加"crazyfd/yii2-qiniu": "

laravel上传到七牛图片插件

1.首先引入两个插件 2.在https://developer.qiniu.com/kodo/sdk/1241/php找到安装命令 在终端运行composer require qiniu/php-sdk 3.自定义一个全局辅助函数,首先在项目的Http文件夹中新建Helpers文件夹,里面新建一个文件,名字就叫qiniu.php,注意引入 // 引入鉴权类use Qiniu\Auth;// 引入上传类use Qiniu\Storage\UploadManager; 在composer.json里

jetbrick-mvc 七牛图片服务器插件 QiniuPlugin

import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qiniu.util.Auth; public class QiniuConfig { final Logger logger = LoggerFactory.getLogger(QiniuCo

java开发:分享一下百度ueditor和七牛的图片集成上传

做网站时,如果上传的图片量很大,现在不少人会选用七牛图片服务器.那么,今天就来说说如何把网站的图片上传与七牛的sdk集成的问题. jsp页面,实现图片上传的方式也很多,今天就来说下百度的编辑器:ueditor 首先要到官网去下载它,后面我也会附上源代码,需要的朋友可以下载. 我们新建一个项目:qndemo,然后将ueditor放到webroot目录下,截图如下: 另外,我们还要引入jar包: 前台页面,我们需要引用相关js,默认配置下,会加载出编辑效果,如下图: 这时候,我们上传的图片会保存在本

七牛国内首推鉴黄服务,6-8月 免费用

作为移动互联网行业最为热门的创业领域,在过去的几年中,移动社交类App和UGC类App大量涌现,因此在尽力确保产品定位差异化的同时,打造健康的社交生态也成为这些App能得以获得长期发展的关键.然而,由于这类App每天生成的图片信息量通常很大,并且有大量的色情图片混杂其中,所以高效准确地鉴别和剔除这些淫秽色情信息成为一项十分艰巨的任务. 基于此,七牛云携手专注于图像识别技术的图普科技推出了图片鉴黄服务(nrop),帮助七牛用户有效判断保存在七牛云的图片是属于色情.性感还是正常,并给出判断的分数,分