发布
社区首页 >问答首页 >列出给定路径的文件夹的绝对路径- shell

列出给定路径的文件夹的绝对路径- shell
EN

Stack Overflow用户
提问于 2017-05-22 19:10:30
回答 4查看 820关注 0票数 0

我想使用shell脚本列出给定路径中所有文件夹的绝对路径。

我试过的是:

代码语言:javascript
代码运行次数:0
复制
ls -l /var/www/temp

但是我找不到ls命令的选项,它将列出绝对路径。

我在StackOverflow上发现了一个相关的问题:how to list full paths of folders inside a directory in linux?

但我需要的是,在单个命令中,我需要列出给定路径(此路径随时间变化)中的所有文件夹及其绝对路径。

有人能帮我做这件事吗?提前谢谢。

EN

回答 4

Stack Overflow用户

发布于 2017-05-22 20:26:28

这会有所帮助,但它没有使用"ls"

您可以将pwd替换为find。

代码语言:javascript
代码运行次数:0
复制
   find /var/www/temp -type d

但需要注意的是,这将在屏幕上输出列表。

票数 0
EN

Stack Overflow用户

发布于 2017-05-22 23:28:05

shell函数怎么样?

代码语言:javascript
代码运行次数:0
复制
dabspath () {
if [ -d "$1" ]
then
    cd "$1"
    find "$PWD" -type d
    cd "$OLDPWD"
else
    echo "$0: $1: No such directory"
fi
}

用法:dabspath foo

如果foo是相对于当前工作目录的目录,那么它将打印foo及其所有子目录的绝对路径。

票数 0
EN

Stack Overflow用户

发布于 2017-05-23 06:26:07

for D in `find . -maxdepth 1 -type d`; do echo $PWD${D#.}; done

它的工作原理:

for循环将遍历所有的子目录,对于存储在变量D中的每个子目录,它将打印工作目录($PWD)的路径,后跟的是子目录D,从子目录D中删除前缀".“。对于每个子目录,它将打印工作目录($PWD)的路径。这样,绝对路径就会按预期打印出来。

注意:由于每个目录都有指向自身的硬链接( ".“子目录),它还将打印工作目录的路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44111375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档