首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ls命令:如何获得递归的完整路径列表,每个文件一行?

ls命令:如何获得递归的完整路径列表,每个文件一行?
EN

Stack Overflow用户
提问于 2009-11-20 07:39:07
回答 24查看 671.3K关注 0票数 564

如何让ls输出一个递归的单行路径的平面列表?

例如,我只想要一个包含完整路径的文件的平面列表:

代码语言:javascript
复制
/home/dreftymac/.
/home/dreftymac/foo.txt
/home/dreftymac/bar.txt
/home/dreftymac/stackoverflow
/home/dreftymac/stackoverflow/alpha.txt
/home/dreftymac/stackoverflow/bravo.txt
/home/dreftymac/stackoverflow/charlie.txt

ls -a1几乎满足了我的需求,但我不想要路径片段,我想要完整路径。

EN

回答 24

Stack Overflow用户

回答已采纳

发布于 2009-11-20 08:20:18

如果你真的想使用ls,那么使用awk格式化它的输出:

代码语言:javascript
复制
ls -R /path | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'
票数 425
EN

Stack Overflow用户

发布于 2009-11-20 07:42:31

使用find:

代码语言:javascript
复制
find .
find /home/dreftymac

如果您只想要文件(省略目录、设备等):

代码语言:javascript
复制
find . -type f
find /home/dreftymac -type f
票数 659
EN

Stack Overflow用户

发布于 2011-02-09 22:27:35

ls -ld $(find .)

如果要按修改时间对输出进行排序:

ls -ltd $(find .)

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

https://stackoverflow.com/questions/1767384

复制
相关文章

相似问题

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