首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Linux中使用文件的绝对路径生成文件列表?

如何在Linux中使用文件的绝对路径生成文件列表?
EN

Stack Overflow用户
提问于 2008-10-29 09:24:04
回答 22查看 1.1M关注 0票数 373

我正在编写一个将文件路径作为输入的shell脚本。

出于这个原因,我需要生成带有完整路径的递归文件清单。例如,文件bar的路径为:

代码语言:javascript
复制
/home/ken/foo/bar

但是,据我所知,lsfind都只给出了相对路径列表:

代码语言:javascript
复制
./foo/bar   (from the folder ken)

这似乎是一个显而易见的要求,但我在findls手册页中看不到任何东西。

如何在shell中生成包含绝对路径的文件列表?

EN

回答 22

Stack Overflow用户

回答已采纳

发布于 2008-10-29 09:26:35

如果您一开始就给find一个绝对路径,它将打印绝对路径。例如,要查找当前目录中的所有.htaccess文件:

代码语言:javascript
复制
find "$(pwd)" -name .htaccess

或者,如果您的shell将$PWD展开到当前目录:

代码语言:javascript
复制
find "$PWD" -name .htaccess

find只需将指定给它的路径添加到文件的相对路径之前。

如果你想解析当前目录中的符号链接,Greg Hewgill还建议使用pwd -P

票数 366
EN

Stack Overflow用户

发布于 2011-01-02 12:45:06

代码语言:javascript
复制
readlink -f filename 

提供完整的绝对路径。但如果文件是符号链接,您将获得最终的解析名称。

票数 215
EN

Stack Overflow用户

发布于 2010-08-26 14:42:48

将此用于目录(在bash中需要**后的/,以将其限制为目录):

代码语言:javascript
复制
ls -d -1 "$PWD/"**/

这适用于直接位于当前目录下的文件和目录,其名称包含.

代码语言:javascript
复制
ls -d -1 "$PWD/"*.*

这是适用于一切的:

代码语言:javascript
复制
ls -d -1 "$PWD/"**/*

取自此处http://www.zsh.org/mla/users/2002/msg00033.html

在bash中,如果启用shopt -s globstar,则**是递归的。

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

https://stackoverflow.com/questions/246215

复制
相关文章

相似问题

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