我有特定路径/file/proj/中的构建列表 在该项目中,构建目录列表将类似于
3.7.0.0.121/
4.2.0.0.200-GA/
4.2.0.0.200/
4.2.1.0.54-GA/
4.2.1.0.54/
4.3.0.0.5-GA/
4.3.0.0.5/
4.4.0.164.403/
4.4.0.165.404/
这里4.2.1.0.54-GA/是我最新的稳定版本,4.4.0.165.404/是最新的频繁发布版本。
在 4.2.1.0.54-GA/版本中,我有类似的文件
- proj_4.3.0_App_Update.zip
- proj_4.3.0_App_Update_UI.zip
- dfd.txt
在 4.4.0.165.404/版本中,我有类似的文件
- proj_4.4.0_App_Update.zip
- proj_4.4.0_App_Update_UI.zip
- dfd.txt
这里我需要复制并解压特定文件 proj_4.3.0_App_Update.zip 在/workspace/build 等文件夹中的稳定版本和频繁发布版本中 在稳定版本和频繁发行版本中解压缩到特定路径(/build/pack/x86_64/)后,我有类似的包列表
apac_4.3.rpm
buil_3.4.rpm
ssnjx_3.3.rpm
所以我需要比较稳定版本和频繁发布的 rpm 文件版本,并列出与稳定版本相比更新了哪些新版本
最佳答案
你的问题很广泛;不清楚您是否询问以下每个问题或仅询问其中一些问题:
- 如何“自动”下载最新版本的 zip 文件。
- 如何从这两个文件中仅提取您想要比较的文件。
- 如何比较两个不同文件夹中的特定子目录。
- 如何显示差异。
以下脚本尝试回答每个问题,并解释每个步骤;希望它有帮助:
#!/usr/bin/env bash
# exit script immediately on error
set -e
# Example zip files, adjust for your use case
BASE_URL=https://github.com/johnweldon/tiny-profile/archive
LATEST=0.1.9
STABLE=0.1.8
# Create temporary directory to extract into
TEMPDIR=$(mktemp -d)
echo "created ${TEMPDIR}"
# Clean up temporary directory when done. Comment the next line if you
# want to keep the directory
trap "rm -rf $TEMPDIR && echo \"deleted ${TEMPDIR}\"" EXIT
# Download and extract only files needed from LATEST into $TEMPDIR/latest
( cd $TEMPDIR;
curl -L -o latest.zip "$BASE_URL/v$LATEST.zip" && \
unzip latest.zip */bin/* */.vim/ftplugin/* -d latest) >/dev/null 2>&1
# Download and extract only files needed from STABLE into $TEMPDIR/stable
( cd $TEMPDIR;
curl -L -o stable.zip "$BASE_URL/v$STABLE.zip" && \
unzip stable.zip */bin/* */.vim/ftplugin/* -d stable) >/dev/null 2>&1
echo -e "\nBEGIN DIFFERENCES:\n------------------\n\n"
(cd $TEMPDIR;
diff -r stable/tiny-profile-$STABLE/ latest/tiny-profile-$LATEST/ || true)
echo -e "\n\n---------------\nEND DIFFERENCES\n"
关于python - 通知包版本更改的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54418824/