replace_packname.sh 754 字节
#!/bin/bash

# 递归查找所有子目录下的 updata.sh 文件,并替换内容
find . -type f -name "updata.sh" | while read -r file; do
    echo "正在检查文件: $file"

    # 使用单引号包裹模式,避免shell展开通配符
    # 匹配 Update_PsdkPack="JZ 开头,后接任意非双引号字符的内容
    if grep -q 'Update_PsdkPack="JZ[^"]*"' "$file"; then
        echo "在 $file 中找到匹配项,正在替换..."
        
        # 使用 sed 进行安全替换
        # \b 表示单词边界,确保精确匹配变量名
        # 注意:替换时保留双引号,只修改内容部分
        sed -i 's/\(Update_PsdkPack="\)JZ[^"]*"\(.*\)/\1*.bin"\2/' "$file"
        
        echo "替换完成:$file"
    fi
done