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的更多相关文章

  1. shell脚本:批量修改文件名(添加/删除文件名中字符)

    添加字符 举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀名不变: [root@localhost goodboy]# ls adddbbdedf.html  baacj ...

  2. 用shell脚本创建sqlite表并添加sql语句--通用

    重要使用的是EOF的功能,亲测和!功能一致:下面是测试代码 #!/bin/bash val=`ls`for v in ${val} do if [ ${v} == "test.db" ...

  3. Ubuntu 设定壁纸自动切换的shell脚本

    升级到Ubuntu14.04后,感觉bug的确比12.04少多了.顶部任务栏支持半透明效果,所以整个桌面也看上去漂亮了很多.这样的桌面也是值得瞎捣鼓一下的,想到换壁纸,但是没找到设定动态更换壁纸的选项 ...

  4. 常用shell脚本

    [脚本1]打印形状打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n ...

  5. 【转】干货分享-100个shell脚本

    本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please i ...

  6. 编写shell脚本的规范

    目录 编写shell脚本的一些规范 解释器 添加脚本版本和注释功能 添加脚本调试 变量命名 全局变量和局部变量 命名规范 函数命名 脚本命名 函数 引用模块或文件 脚本日志 配置文件 其他 编写she ...

  7. Linux&shell之Shell脚本

    写在前面:案例.常用.归类.解释说明.(By Jim) 使用多条命令shell脚本的关键是可以输入多条命令,甚至可以将一条命令的结果传递给另一条命令.date;who(两个命令shell脚本的写法) ...

  8. shell脚本格式的几点注意:格式严格,空格不能随便出现(一写就记不住)

    shell脚本中,不能随意添加空格,否则出错: 1,=等号两边必须无空格.否则出错.如i =$1和i= $1都是错的.但是在()内部不限制如for ((i= 1;i < 3;i= i+1))是正 ...

  9. Java 调用 shell 脚本详解

    这一年的项目中,有大量的场景需要Java 进程调用 Linux的bash shell 脚本实现相关功能. 从之前的项目中拷贝的相关模块和网上的例子来看,有个别的“陷阱”造成调用shell 脚本在某些特 ...

随机推荐

  1. 计数器控件实例 NumericStepper

    计数器控件实例 书:158 <?xml version="1.0" encoding="utf-8"?> <s:Application xml ...

  2. MACD 下0轴后,强力=7上0轴的实例:

    MACD 下0轴后,强力=7上0轴的实例: 虽然再上0轴,但是由于是强力上,必须有缓解期.缓解期后MACD开始收口,虽然没有下0轴,但是开始趋向死叉. 由于并没有很强的做多市场环境,MACD只是略高于 ...

  3. react结合redux开发

    先加上我码云的地址:https://gitee.com/ldlx/react_and_rudex

  4. python windows 安装gensim

    安装gensim要确定numpy和scipy安装 再安装gensim

  5. C# - 匿名对象取值

    在new出匿名对象的函数内可以直接调用该匿名对象的属性取值. 可是在其它函数就无法调用匿名对象的属性或方法. 这时,我们可以通过c#的反射机制取值: 文章出处:https://www.cnblogs. ...

  6. 2GT PULLEYS 同步齒輪 設計規格

    2GT PULLEYS 同步齒輪 設計規格 [資料來源:http://www.jigang.com.tw/zh/product_item/64] 我的20齒 2GT模型 張貼者: 陳亮宇於 上午11: ...

  7. hdu5293 lca+dp+树状数组+时间戳

    题意是给了 n 个点的树,会有m条链条 链接两个点,计算出他们没有公共点的最大价值,  公共点时这样计算的只要在他们 lca 这条链上有公共点的就说明他们相交 dp[i]为这个点包含的子树所能得到的最 ...

  8. Java多线程-----理解CountDownLatch

       CountDownLatch简介  CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier.Semaphore.ConcurrentHa ...

  9. 从js中提取数据

    <script language="JavaScript" type="text/javascript+gk-onload"> SKART = (S ...

  10. Redis入门——安装与基本命令

    1. Redis安装 下载地址:https://github.com/MSOpenTech/redis/releases 下载zip文件后直接解压 2. 启动Redis服务端 解压目录下执行redis ...