ls 命令:如何获得递归完整路径列表,每个文件一行? [英] ls command: how can I get a recursive full-path listing, one line per file?
本文介绍了ls 命令:如何获得递归完整路径列表,每个文件一行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎样才能让 ls 吐出一个单行递归路径的平面列表?
How can I get ls to spit out a flat list of recursive one-per-line paths?
例如,我只想要一个带有完整路径的文件的平面列表:
For example, I just want a flat listing of files with their full paths:
/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
几乎可以满足我的需要,但我不想要路径片段,我想要完整路径.
ls -a1
almost does what I need, but I do not want path fragments, I want full paths.
推荐答案
如果你真的想使用 ls
,那么使用 awk 格式化它的输出:
If you really want to use ls
, then format its output using awk:
ls -R /path | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'
这篇关于ls 命令:如何获得递归完整路径列表,每个文件一行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文