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