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. mysql 命令一套

    MySQL mysql -h主机地址 -u用户名 -p用户密码 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root  -p,回车后提示你输密码.注意用户名前可以有 ...

  2. sql server2012 远程访问设置(转)

    转自:http://blog.csdn.net/xiadingling/article/details/8215282 步骤 打开SQL server2012,使用windows身份登录   登录后, ...

  3. mysql优化(四)

    一.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where / group by / order by 涉及的列上建立索引. 1.索引失效情况. SQL什么条件会使用索引? 当字段上建有索引时, ...

  4. html5-css列表和表格

    td{    /*width: 150px;    height: 60px;*/    padding: 10px;    text-align: center;} table{     width ...

  5. windows下配置lua环境

    1.进入lua官网http://www.lua.org/ 2.点击download 3.点击get a binary 4.点击[Lua - joedf's Builds] 5.选择适合自己的版本下载, ...

  6. HDU 1879 继续畅通工程(最小生成树)

    省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计表,表中列出了任意两城镇间修建道路的费用,以及该道路是否已经 ...

  7. scss简单用法

  8. java初学者必看的学习路线

    不管在编程语言的排行榜中,还是在大多数企业应用的广泛程度来看,Java一直都是当之无愧的榜首.Java语言有着独特的魅力吸引着广大的年轻人去学习,每个人学习的方式方法不一样. 第一步:首先要做好学习前 ...

  9. 利用vue写filter时 当传入是一个对象时注意

    vue或angular 写filter时,传入的是对象时一定注意,不能直接改变对象的值,因为在使用该filter的页面上,若传入的对象其他值发生变化,该filter也会重新运行,这样可能会报错,如下例 ...

  10. Linux中USB协议栈的框架简介

    文本旨在简单介绍一下Linux中USB协议栈的代码框架: 下图是USB协议栈相关数据结构的关系图: 下面结合上图看一下系统初始化的流程: 1.USB子系统初始化:\drivers\usb\core\u ...