Bash - 更改具有最高版本号的文件夹的路径

亚当·格里菲斯

我有以下文件夹结构

MyPackage
  └── versions
      └── MyPackage-1.0
          └── src
          MyPackage-1.0.1
          └── src
          MyPackage-2.0
          └── src

我正在编写一个 bash 脚本来构建最新版本的包并检索构建工件。该步骤的一部分是更改到最新包的目录:

cd MyPackage/versions/MyPackage-2.0/src

我如何编写我的 bash 脚本,以便它始终选择最高版本的子文件夹(因此在这种情况下,MyPackage-2.0但将来可能会变为MyPackage-2.0.1MyPackage-2.1)?

hek2mgl

在 GNU sort 的帮助下,您可以执行以下操作:

cd "$(printf "%s"$'\n' MyPackage/versions/* | sort -Vr | head -n1)"

分解:

$ printf "%s"$'\n' MyPackage/versions/*
MyPackage/versions/MyPackage-1.0
MyPackage/versions/MyPackage-1.0.1
MyPackage/versions/MyPackage-2.0
$ printf "%s"$'\n' MyPackage/versions/* | sort -Vr
MyPackage/versions/MyPackage-2.0
MyPackage/versions/MyPackage-1.0.1
MyPackage/versions/MyPackage-1.0
$ printf "%s"$'\n' MyPackage/versions/* | sort -Vr | head -n1
MyPackage/versions/MyPackage-2.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有文件夹路径和通配符的Bash数组

使用bash更新属性文件中的版本号

在Linux bash中复制具有完整路径的文件和文件夹

Bash - 将版本号增加 1

在bash中增加内部版本号

包含外部文件的文件夹的最新更改的SVN版本号

如何从bash中的pom文件中剪切版本号

在包含文件夹中所有文件的版本号的inPowesShell中创建.txt文件

使用find和mv更改嵌套文件夹中的名称(版本号)

如何使用bash中的regexp验证版本号是否有效?

Powershell:按版本号选择文件夹

Bash脚本列出具有子文件夹的文件夹/具有大于X的多个文件的文件夹

Linux bash 或 sed 命令增加版本号

获取gcc版本号并与bash比较

如何仅获取 bash ssh 版本号?

仅使用bash获取Ubuntu版本号

如何使用bash从xml属性中提取版本号

如何在OS X中获取Bash版本号

如何将CD复制到最近的具有bash的.git文件夹的父文件夹?

BASH shell脚本得到username的文件夹路径

在BASH中打印路径可变的文件夹的内容

循环浏览许多文件夹,并对bash中具有相似模式的文件进行计算

使用bash使用wget下载具有ID的特定网站文件夹的所有网页

Bash脚本:从脚本文件夹而不是从运行它的位置引用文件夹路径

如何使用git bash更改文件夹?

文件夹bash中的多个名称更改

Bash 脚本更改动态变量上的文件夹路径的一部分

重命名Bash文件夹中的所有文件

如何使用Bash搜索路径中包含给定子字符串的所有文件/文件夹?