41

如何提取 pwd 输出的最后一个目录?我不想使用有关目录结构中有多少级别的任何知识。如果我想使用它,我可以执行以下操作:

> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project

但是我想使用一个无论我在目录结构中的哪个位置都可以工作的命令。我假设有一个简单的命令可以使用 awk 或 sed 执行此操作。

4

4 回答 4

62

您在寻找basenamedirname吗?

就像是

basename "`pwd`"

应该是你想知道的。

如果你坚持使用sed,你也可以使用

pwd | sed 's#.*/##'
于 2009-11-16T20:22:20.240 回答
23

如果您想在不运行任何外部二进制文件的情况下完全在 bash 脚本中完成,${PWD##*/}应该可以。

于 2009-11-16T20:33:52.650 回答
4

应该为你工作: pwd | rev | cut -f1 -d'/' - | rev

参考: https ://stackoverflow.com/a/31728689/663058

于 2017-03-18T01:29:10.183 回答
3

使用 awk:

pwd | awk -F/ '{print $NF}'
于 2009-11-19T06:50:54.417 回答