File tree 1 file changed +37
-5
lines changed
1 file changed +37
-5
lines changed Original file line number Diff line number Diff line change 1
1
#! /usr/bin/env bash
2
2
3
- # List files in IPA by size
3
+ # List files in IPA with size
4
4
5
5
set -e
6
6
7
- ls_ipa_by_size () {
7
+ # Show usage and quit
8
+ usage () {
9
+ echo " Usage: ls_ipa [-s] /path/to/ipa"
10
+ return 1
11
+ }
12
+
13
+ prepare () {
8
14
ipa=$1
9
15
10
16
# Create temp working dir
@@ -17,17 +23,43 @@ ls_ipa_by_size () {
17
23
18
24
# Get it done
19
25
cd " $WS /Payload/"
26
+ }
27
+
28
+ ls_ipa_by_size () {
20
29
find ./* .app -depth 1 -print0 | xargs -0 -I{} du -s {} | sort -rn | cut -f2 | xargs -I{} du -sh {}
21
30
}
22
31
32
+ ls_ipa_by_name () {
33
+ find ./* .app -depth 1 -print0 | xargs -0 -I{} du -hs {}
34
+ }
35
+
23
36
main () {
37
+ while getopts :sh opt; do
38
+ case $opt in
39
+ s)
40
+ ls_by_size=1
41
+ ;;
42
+ \? )
43
+ usage
44
+ ;;
45
+ esac
46
+ done
47
+
48
+ shift $(( OPTIND- 1 ))
49
+
24
50
if [ ! -f " $1 " ];
25
51
then
26
- echo " Usage: ls_ipa /path/to/ipa"
27
- return
52
+ usage
28
53
fi
29
54
30
- ls_ipa_by_size " $1 "
55
+ prepare " $1 "
56
+
57
+ if [ -n " $ls_by_size " ];
58
+ then
59
+ ls_ipa_by_size
60
+ else
61
+ ls_ipa_by_name
62
+ fi
31
63
}
32
64
33
65
main " $@ "
You can’t perform that action at this time.
0 commit comments