提取pwd输出的最后一个目录

时间:2009-11-16 20:18:41

标签: bash unix pwd

如何提取pwd输出的最后一个目录?我不想使用目录结构中有多少级别的任何知识。如果我想使用它,我可以做类似的事情:

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

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

4 个答案:

答案 0 :(得分:45)

您在寻找basename还是dirname

这样的东西
basename `pwd`

应该是你想知道的。

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

pwd | sed 's#.*/##'

答案 1 :(得分:12)

如果您想在bash脚本中完全执行此操作而不运行任何外部二进制文件,${PWD##*/}应该可以正常工作。

答案 2 :(得分:2)

应该适合你: pwd | rev | cut -f1 -d'/' - | rev

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

答案 3 :(得分:0)

使用awk:

pwd | awk -F/ '{print $NF}'