博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Linux] 批量把不规则的Android应用程序命名为[中文_版本号](在无中文名称时命名为英文)...
阅读量:6262 次
发布时间:2019-06-22

本文共 2882 字,大约阅读时间需要 9 分钟。

#!/bin/bash - #===============================================================================##          FILE: apk_rename.sh# #         USAGE: ./apk_rename.sh # #   DESCRIPTION: # #       OPTIONS: ---#  REQUIREMENTS: ---#          BUGS: ---#         NOTES: ---#        AUTHOR: linkscue (scue), linkscue@gmail.com#       CREATED: 2013年04月15日 15时17分18秒 HKT#     COPYRIGHT: Copyright (c) 2013, linkscue#      REVISION: 0.1#  ORGANIZATION: ATX风雅组#===============================================================================set -o nounset                              # Treat unset variables as an errorif [[ $# != 1 ]]; then    echo "usage: $(basename $0) 
" exit 0fidir="$1"#-------------------------------------------------------------------------------# 相关的函数#-------------------------------------------------------------------------------en_label () # 获取英文名称{ aapt d badging "$1" | awk -n -F"'" '/application-label:/ {print $2}'| sed 's/ //g' 2>/dev/null}cn_label () # 获取中文名称{ aapt d badging "$1" | awk -n -F"'" '/application-label-zh_CN/ {print $2}' | sed 's/ //g' 2>/dev/null}zh_label (){ aapt d badging "$1" | awk -n -F"'" '/application-label-zh:/ {print $2}' | sed 's/ //g' 2>/dev/null}version (){ aapt d badging "$1" | awk -n -F"'" '/versionName/ {print $6}'| sed 's/ //g' 2>/dev/null}activity () # 获取活动{ aapt d badging "$1" | awk -n -F"'" '/launchable-activity/ {print $2}' | sed 's/ //g' 2>/dev/null}#-------------------------------------------------------------------------------# 变量替换方式把' '替换为'_'#-------------------------------------------------------------------------------find $dir -name "*.apk" -type f | while read line; # 只显示文件 do tmp=\"$line\"; # 获取文件 echo $tmp; # 为xargs准备 echo ${tmp// /_} ; # 变量替换 done | xargs -n 2 mv -v 2> /dev/nullfind $dir -name "*.apk" -type f | while read apkdo version_name=$(version "$apk") cn_label_name=$(cn_label "$apk") if [[ "$cn_label_name" != "" ]]; then new_name="${cn_label_name// /_}"_"$version_name".apk echo "mv: $(basename "$apk") --> $new_name" mv "$apk" "$dir/$new_name" else zh_label_name=$(zh_label "$apk") if [[ "$zh_label_name" != "" ]]; then new_name="${zh_label_name// /_}"_"$version_name".apk echo "mv: $(basename "$apk") --> $new_name" mv "$apk" "$dir/$new_name" else en_label_name=$(en_label "$apk") if [[ "$en_label_name" != "" ]]; then new_name="${en_label_name// /_}"_"$version_name".apk echo "mv: $(basename "$apk") --> $new_name" mv "$apk" "$dir/$new_name" fi fi fidone 2> /dev/null

 

转载地址:http://xzzpa.baihongyu.com/

你可能感兴趣的文章
数学推导+Python实现机器学习算法:线性回归
查看>>
Android AccessibilityService机制源码解析
查看>>
Android基础知识
查看>>
寻找数组主元素(Majority Element))
查看>>
如何将ST05生成的trace导入HANA Studio里并以图形化方式显示出来
查看>>
TiDB 在西山居实时舆情监控系统中的应用
查看>>
说一说 JVM 对锁的优化
查看>>
图像处理库GPUImage简单使用
查看>>
基于Java语言构建区块链(五)—— 地址(钱包)
查看>>
Elastic Search 安装和配置
查看>>
手动实现 express
查看>>
Let's Encrypt免费ssl证书安装使用详解
查看>>
有个功能丰富的 react 脚手架,了解下?
查看>>
SnippetsLab - 像纳博科夫写小说一样写代码
查看>>
React-Redux 源码解析 二(middleware)
查看>>
JLRoutes 实现原理分析
查看>>
第二章 OC程序设计
查看>>
初识Python
查看>>
关于dispatch_once的坑及注意点
查看>>
TreeMap之元素插入
查看>>