shell脚本 -- 用途替换所有json文件(main.json 除外)中的 ios下载链接

#!/bin/bash
#脚本用途 替换所有json文件(main.json 除外)中的 ios下载链接
#调用格式 "xxx.sh" (脚本名称) "ios||and" (参数1)  "https:xxxx" (参数2)
#调用示例 *sh and https:andxxxxx.apk
#调用示例 *sh ios https:andxxxxx.ios
#执行时 会备份源文件到当前目录bak_json下

cd "$(dirname $0)"
pwd
json_remove="main.json" #替换排除文件
#json_files=$(find . -maxdepth 1 -name "*.json" ! -name ${json_remove})
#find 查找会存在文件名为./影响文件备份

if [ "$1" == "ios" -o "$1" == "and" ] && [ "$2" != "" ]; then

    for js_file in $(ls | grep .*json | grep -v ${json_remove}); do

        if [ -f ${js_file} ]; then

            if [ "$1" == "ios" ]; then

                old_url=$(grep -oP ios.*?http.*?\" ${js_file} | awk -F[\"] '{print $3}')
            else
                old_url=$(grep -oP and.*?http.*apk.*?\" ${js_file} | awk -F[\"] '{print $3}')
            fi

                now_url=$2

            if [ "$old_url" != "" ]; then
                #开始备份
                mkdir -p bak_json && cp ${js_file} bak_json/$(date +"%F")-${js_file}

                #开始替换
                sed -i "s#$old_url#$now_url#g" ${js_file}
                echo "替换文件 ${js_file}$old_url$now_url"
            else
                echo "没有匹配到旧的url 文件: ${js_file}"
            fi

        fi

    done

else

    echo "格式  \"xxx.sh\" (脚本名称) \"ios||and\" (参数1)  \"https:xxxx\" (参数2)"
fi

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值