如何让ls输出一个递归的单行路径的平面列表?
例如,我只想要一个包含完整路径的文件的平面列表:
/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.txtls -a1几乎满足了我的需求,但我不想要路径片段,我想要完整路径。
发布于 2009-11-20 08:20:18
如果你真的想使用ls,那么使用awk格式化它的输出:
ls -R /path | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'发布于 2009-11-20 07:42:31
使用find:
find .
find /home/dreftymac如果您只想要文件(省略目录、设备等):
find . -type f
find /home/dreftymac -type f发布于 2011-02-09 22:27:35
ls -ld $(find .)
如果要按修改时间对输出进行排序:
ls -ltd $(find .)
https://stackoverflow.com/questions/1767384
复制相似问题