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. React项目中使用Mobx状态管理(一)

    1.安装 $ yarn add mobx mobx-react 2.新建store/index.js,存放数据(以下思路仅限于父子组件的简单应用) 注意:这里暂时没使用装饰器@observable,装 ...

  2. Browsersync结合gulp和nodemon实现express全栈自动刷新

    Browsersync能让浏览器实时.快速响应你的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试. ...

  3. 解决ORA-00257: 归档程序错误。在释放之前仅限于内部连接

    昨天尝试通过plsqldev尝试连接oracle数据库,报错,提示ORA-00257: 归档程序错误.在释放之前仅限于内部连接 通过查询,得知原因是archivedlog达到了数据库设置的空间限制. ...

  4. 002-golang安装配置

    1.安装位置: 2.环境变量. path的值如下: 3.工作目录.

  5. 面向对象的多态性(C++)

    以C++为例三大特效:封装.继承.多态,面向对象的编程语言都具有这些特性. 那么本节来谈谈多态性,尽量说的简单些容易理解! 多态什么意思?即运行时多态,以相同的方式处理不同类型的对象,产生不同的结果! ...

  6. html5-figure和figcaption元素

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  7. codeforces 980D Perfect Groups

    题意: 有这样一个问题,给出一个数组,把里面的数字分组,使得每一个组里面的数两两相乘都是完全平方数. 问最少可以分成的组数k是多少. 现在一个人有一个数组,他想知道这个数组的连续子数组中,使得上面的问 ...

  8. GCD(III)

    GCD 线程间的通信 在iOS开发过程中,我们一般在主线程里边进行UI刷新,例如:点击.滚动.拖拽等事件.我们通常把一些耗时的操作放在其他线程,比如说图片下载.文件上传等耗时操作.而当我们有时候在其他 ...

  9. Spring tokenizeToStringArray

    tokenizeToStringArray: StringUtils.tokenizeToStringArray(pattern, this.pathSeparator, this.trimToken ...

  10. linux常用命令:pwd 命令

    Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录.在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...