如何在bash中创建绝对路径的相对路径?

Mic*_*ndr 2 regex bash sed relative-path pwd

我在这个目录中:

/home/michal/project/test/my-utils/rel/0.1.0
Run Code Online (Sandbox Code Playgroud)

我想获得Linux shell中/ home/michal/project /的相对路径:

../../..
Run Code Online (Sandbox Code Playgroud)

我用sed尝试了一些东西,但是我没有成功创建正则表达式.例如其中一次尝试:

pwd | sed -e "s/.*project\///g" | sed -e "s/[^\/]+/../g"
Run Code Online (Sandbox Code Playgroud)

任何提示怎么做?

oli*_*liv 7

您可以使用以下命令realpath:

realpath --relative-to=${PWD} /home/michal/project/
Run Code Online (Sandbox Code Playgroud)

从帮助页面:

--relative-to = FILE打印相对于FILE的已解析路径