shell脚本之 给PNG图片添加后缀@3x
1,给png图片加上后缀@3x
#!/bin/sh #root_src=$(dirname $(PWD))
#echo ${root_src} image_path=${root_src}/imagesecho ${image_path}
# find ${image_path} -name *.png -exec echo {} \;
# find ${image_path} -name *.png -o -name *.jpg -print
# find ${image_path} -path '*/Assets.xcassets*' -prune -o -name *.png
# find ${image_path} -path '*/Assets.xcassets*' -prune -o \( -name *.png -o -name *.jpg \) -print pngfiles=`find ${image_path} -name *.png `
suffix2x='@3x.png'
suffix3x='@2x.png'
for file in $pngfiles
do
if [[ ${file} =~ ${suffix2x} || ${file} =~ ${suffix3x} ]]
then
echo "${file}不变" else
echo "${file}需要添加@3x"
mv ${file} "${file%.png}@3x.png"
fi done
2,进化版:查找当前目录下除Assets.xcssets,给所有无后缀的jpg或者png添加后缀为@3x。
根据需求不同,可以酌情更改Find命令等
#!/bin/sh image_path=`pwd`
echo ${image_path}
# find ${image_path} -name *.png -exec echo {} \;
# find ${image_path} -name *.png -o -name *.jpg -print #寻找png或者jpg
# find ${image_path} -path '*/Assets.xcassets*' -prune -o -name *.png #查找目录下除Assets.xcassets以外的目录
#查找除去Assets.xcassets以外的${image_path}目录下,结尾为png或者jpg的图片
# find ${image_path} -path '*/Assets.xcassets*' -prune -o \( -name *.png -o -name *.jpg \) -print pngfiles=`find ${image_path} -path '*/Assets.xcassets*' -prune -o \( -name *.png -o -name *.jpg \) `
suffix2x='@3x.png'
suffix3x='@2x.png'
for file in $pngfiles
do
if [[ ${file} =~ ${suffix2x} || ${file} =~ ${suffix3x} ]]
then
echo "${file}不变" else
if [[ ${file} =~ '.png' ]]; then
echo "PNG图片${file}需要添加@3x"
mv ${file} "${file%.png}@3x.png"
fi
if [[ ${file} =~ '.jpg' ]]; then
echo "jpg图片${file}需要添加@3x"
mv ${file} "${file%.jpg}@3x.jpg"
fi fi done
更多
1,shell脚本
shell脚本之 给PNG图片添加后缀@3x的更多相关文章
- shell脚本:批量修改文件名(添加/删除文件名中字符)
添加字符 举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀名不变: [root@localhost goodboy]# ls adddbbdedf.html baacj ...
- 用shell脚本创建sqlite表并添加sql语句--通用
重要使用的是EOF的功能,亲测和!功能一致:下面是测试代码 #!/bin/bash val=`ls`for v in ${val} do if [ ${v} == "test.db" ...
- Ubuntu 设定壁纸自动切换的shell脚本
升级到Ubuntu14.04后,感觉bug的确比12.04少多了.顶部任务栏支持半透明效果,所以整个桌面也看上去漂亮了很多.这样的桌面也是值得瞎捣鼓一下的,想到换壁纸,但是没找到设定动态更换壁纸的选项 ...
- 常用shell脚本
[脚本1]打印形状打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n ...
- 【转】干货分享-100个shell脚本
本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please i ...
- 编写shell脚本的规范
目录 编写shell脚本的一些规范 解释器 添加脚本版本和注释功能 添加脚本调试 变量命名 全局变量和局部变量 命名规范 函数命名 脚本命名 函数 引用模块或文件 脚本日志 配置文件 其他 编写she ...
- Linux&shell之Shell脚本
写在前面:案例.常用.归类.解释说明.(By Jim) 使用多条命令shell脚本的关键是可以输入多条命令,甚至可以将一条命令的结果传递给另一条命令.date;who(两个命令shell脚本的写法) ...
- shell脚本格式的几点注意:格式严格,空格不能随便出现(一写就记不住)
shell脚本中,不能随意添加空格,否则出错: 1,=等号两边必须无空格.否则出错.如i =$1和i= $1都是错的.但是在()内部不限制如for ((i= 1;i < 3;i= i+1))是正 ...
- Java 调用 shell 脚本详解
这一年的项目中,有大量的场景需要Java 进程调用 Linux的bash shell 脚本实现相关功能. 从之前的项目中拷贝的相关模块和网上的例子来看,有个别的“陷阱”造成调用shell 脚本在某些特 ...
随机推荐
- PHP开启mysqli扩展
Call to undefined function mysqli_connect()解决这个问题需要开启mysqli扩展开启mysqli扩展需要这两个步骤缺一不可1.在php.ini中搜索php_m ...
- vue中点击复制粘贴功能
1.下载clipboard.js cnpm install clipboard --save 2.引入,可以在mian.js中全局引入也可以在单个vue中引入 import Clipboard fro ...
- Hello world!(内含自己编写的C语言二叉树同学录)
修改:刷了一段时间的题,水平渐涨,发现同学录真的要做成市面可行的应用的话,应该按学号建立二叉平衡树,红黑树是一个可行的选择. 在同学的推荐下,来到博客园来找志同道合的人交流代码.3个月后参加蓝桥杯 ...
- <meta>标签中,X-UA-Compatible和IE=Edge,chrome=1的作用
用来指定浏览器优先以什么模式来渲染页面,ie=edge表示以最高版本内核渲染,ie=8表示以id8内核渲染页面,此外还有ie=9.id=10等. 而chrome=1意思是,优先以chrome内核来渲染 ...
- tfs团队项目删除原来连接的默认账户
1.在用visual studio 连接团队项目时,首次输入用户名和密码后,默认保存住凭据了,等以后连接会自动采用首次的凭证. 但是如何采用新的用户重新登录呢.如图所示,删除原有的凭证.删除后重启电脑 ...
- [ Learning ] Design Pattens
1. 单例2. 模板3. 代理,装饰 (代理和装饰的区别)4. 状态
- <7>Cocos Creator 节点 cc.Node
1.简介 节点(cc.Node)是渲染的必要组成部分.所有需要在游戏场景中显示的内容都必须是节点或者依附于节点之上.节点负责控制显示内容的位置.大小.旋转.缩放.颜色等信息. 2.节点属性 1: na ...
- 《大话设计模式》c++实现 之工厂模式
工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建对象时不会对客户端 ...
- Vue系列之 => 组件中的data和methods
使用data <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- hdu3511 圆的扫描线
http://blog.csdn.net/firenet1/article/details/47041145 #include <iostream> #include <algori ...