shell脚本统计iOS项目中图片使用情况(瘦身)<带详细注释>

描述

出于瘦身目的,需要了解项目中使用到了哪些大图片,项目工程很大的时候,无法人工处理,于是该脚本产生了,最终会输出 html 文件用于展示结果。
脚本适用于任何项目,不限制于 iOS 项目。

源码

#!/bin/bash

#定义第一个参数为搜索目录,如果没输入参数,默认搜索当前目录
SEARCH_PATH=$1
if [[ -z $SEARCH_PATH ]]
then
    SEARCH_PATH="."
    echo "Please input search path. Now search path is current path '.'"
fi

#临时文件存储未排序结果
TEMP="unsorted_image_temp"
rm -rf $TEMP

# 搜索目标文件 (-type f 普通文件 -name '*.gif' 名字后缀为gif的文件 -o 或者 or)
find $SEARCH_PATH -type f -name '*.gif' -o -name '*.jpg' -o -name '*.JPG' -o -name '*.png' -o -name '*.PNG' -o -name '*.jpeg' -o -name '*.JPEG' | while read file;
do

  # 开始处理每一张图片

  # 获取图片size (stat 查看状态 -f 按指定format打印  %后边跟z表示size)
  size=`stat -f %z $file`
  # 把图片大小转换成kb,保留三位小数点
  sizekb=`echo "$size 1024.0" | awk '{printf "%.3f", $1 / $2}'`
  echo $file,$sizekb
  line="$file ( $sizekb kb ) 
" # 把每张图片信息写进临时文件 echo $line >> $TEMP done # 根据图片大小进行排序 (-t " " 以空格作为分隔符 -n 以数字大小排序 -r 逆序排列 -k 4 以第四栏作为sort_key) files=`cat $TEMP | sort -t " " -nr -k 4` # 计算图片数量 count=`echo $(cat $TEMP | wc -l)` # 计算图片总大小 (awk 命令,以空格分割,第4栏的累计之和) total_size_kb=`awk -F ' ' '{sum += $4} END {print sum}' $TEMP` rm -rf $TEMP # 把结果打印到html文件,方便使用浏览器查看,且可以点击a标签直接查看图片 HTML="sorted_images_list.html" rm -rf $HTML echo "\n

Sorted images by Zhiyunyu

" >> $HTML echo "" >> $HTML echo "

There are $count images (total size: $total_size_kb kb)

" >> $HTML echo "
\n$files\n
" >> $HTML echo "\n" >> $HTML

效果

执行命令后会在终端打印信息,并最终生成 html文件,脚本支持携带目录参数,默认为当前目录

➜  bundles git:(zhiyunyu_test_shell) ✗ sh zhiyun_sort_image.sh
Please input search path. Now search path is current path '.'
./web.bundle/image-nodpi/news_relate_bar_v3_2.png,0.170
./web.bundle/image-nodpi/[email protected],0.899
./web.bundle/image-nodpi/[email protected],1.141
./web.bundle/image-nodpi/[email protected],0.094
./web.bundle/image-nodpi/intro_bg.png,0.289
./web.bundle/image-nodpi/[email protected],1.214
./web.bundle/image-nodpi/[email protected],1.653
./web.bundle/image-nodpi/[email protected],0.106
./web.bundle/image-nodpi/[email protected],0.891
./web.bundle/image-nodpi/[email protected],0.483
./web.bundle/image-nodpi/[email protected],49.416
./web.bundle/image-nodpi/night-gameGift_back.png,0.607
./web.bundle/image-nodpi/[email protected],2.639
./web.bundle/image-nodpi/[email protected],1.411
./web.bundle/image-nodpi/[email protected],1.883
./web.bundle/image-nodpi/[email protected],1.141
./web.bundle/image-nodpi/[email protected],0.236
shell脚本统计iOS项目中图片使用情况(瘦身)<带详细注释>_第1张图片
企业微信截图_65056938-dc76-4a12-9072-b4d74648dfdb.png

你可能感兴趣的:(shell脚本统计iOS项目中图片使用情况(瘦身)<带详细注释>)