python - 通知包版本更改的脚本

标签 python linux shell

我有特定路径/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/版本中,我有类似的文件

  1. proj_4.3.0_App_Update.zip
  2. proj_4.3.0_App_Update_UI.zip
  3. dfd.txt

在 4.4.0.165.404/版本中,我有类似的文件

  1. proj_4.4.0_App_Update.zip
  2. proj_4.4.0_App_Update_UI.zip
  3. 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 文件版本,并列出与稳定版本相比更新了哪些新版本

最佳答案

你的问题很广泛;不清楚您是否询问以下每个问题或仅询问其中一些问题:

  1. 如何“自动”下载最新版本的 zip 文件。
  2. 如何从这两个文件中仅提取您想要比较的文件。
  3. 如何比较两个不同文件夹中的特定子目录。
  4. 如何显示差异。

以下脚本尝试回答每个问题,并解释每个步骤;希望它有帮助:

    #!/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/

相关文章:

python - Tkinter:WAITING队列中的项目

python - 如何根据最大值将字典中的所有值分配给变量

php - 为什么在使用 Apache 时没有定义 PHP 的 STDIN?

android - 无需root通过命令行开启飞行模式

python - django 静态文件版本控制

python - 将一列按另一列的值分组

php - 使用 XAMPP 服务器在 ubuntu 12.04 LTS 上安装 Phalcon

linux - "RUNNINGAS=`/usr/bin/id -un`"是做什么的?

python - 在 Django shell session 期间获取 SQL 查询计数

shell - ubuntu中如何检查txt文件的分隔符