Unix 在符号链接中获取最终目录名称

Unix get final directory name in a symlink

我在一个充满版本的目录中有符号链接,每个版本都指向一个特定的版本。 文件结构如下所示:

我需要一种方法来仅从特定符号链接获取版本号(即对于 /path/to/stuff/A 我只想要“v1.1”)。

readlink获取整个路径:readlink /path/to/stuff/A = /path/to/stuff/v1.1

我搜索了其他问题,但我发现还没有任何问题满足这些确切的要求

您可以使用 basename 命令 substitution(在所有 POSIX shell 中可用,不仅在 Bash 中可用):

$ basename "$(readlink /path/to/stuff/A)"
v1.1

rev + cut:

$ readlink  /path/to/stuff/A | rev | cut -d/ -f1 | rev
v1.1