如何提取pwd输出的最后一个目录?我不想使用目录结构中有多少级别的任何知识。如果我想清楚了,我可以这样做:提取pwd输出的最后一个目录
> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project
但我想使用的作品,无论我在目录结构,其中的命令。我假设有一个简单的命令来使用awk或sed来执行此操作。
如何提取pwd输出的最后一个目录?我不想使用目录结构中有多少级别的任何知识。如果我想清楚了,我可以这样做:提取pwd输出的最后一个目录
> pwd
/home/kiki/dev/my_project
> pwd | cut -d'/' -f5
my_project
但我想使用的作品,无论我在目录结构,其中的命令。我假设有一个简单的命令来使用awk或sed来执行此操作。
不错,那有效。谢谢! – Siou 2009-11-16 20:27:18
或者,更可能是'endpath = $(basename $(pwd))'。 – 2009-11-16 20:39:25
“$(pwd)”周围缺少引号。试试这个没有引号: mkdir“ab b”; cd“ab b” endpath = $(basename“$(pwd)”) – 2009-11-16 21:14:11
如果你想在bash脚本中完全做到这一点,但不运行任何外部二进制文件,${PWD##*/}
应该工作。
至多一点...如果您通过带有不同名称的符号链接到达目录,那么$ PWD值将与/ bin/pwd或/ usr/bin/pwd(与内置的pwd不同)生成的值。 – 2009-11-16 20:40:45
@Jonathan Leffler:提问者使用了内置的pwd,所以我觉得使用$ PWD是合适的。 – Teddy 2009-11-17 20:43:36
用awk:
pwd | awk -F/ '{print $NF}'
应该为你工作: pwd | rev | cut -f1 -d'/' - | rev
不知道为什么这是倒票。我非常喜欢这种方法。如果有充分的理由,我想听听。 – CenterOrbit 2018-02-22 21:52:51
如果你的工作目录是什么/? – 2009-11-16 21:17:14