我想通过目录递归,包括子目录和子目录等等,只打印出文件名(没有目录)。我还希望将结果分别放在一个新行上并进行排序。
请注意,ls -LR
或ls -xLR
不起作用,因为ls
会将结果格式化为某种表格。
大家,如果你可以编辑它,你有什么建议吗?
答案 0 :(得分:2)
转到要搜索的目录,然后运行:
find . -type f -exec basename {} \; | sort
按名称排序,只是文件名(没有路径),只是文件(没有目录)。
详细说明:
find
以递归方式工作。 -type f
将仅打印文件,而不打印目录。 -exec basename
在结果上运行basename
(因此不会打印路径)。sort
会对结果进行排序(D'哦!)答案 1 :(得分:0)
找到'怎么样?和'排序'事业吗?
find <dir> -type f |sort
答案 2 :(得分:0)
那应该有用。你错了吗?你有什么版本的linux?见下面的例子
testserver:~ # find /etc -type f | sort
/etc/.pwd.lock
/etc/DIR_COLORS
/etc/HOSTNAME
/etc/Muttrc
....
....
/etc/zmd/zmd.conf
/etc/zshenv
/etc/zshrc
/etc/zypp/zypp.conf
testserver:~ #
(p.s。抱歉试图添加评论,但我的代表不是50,所以添加作为答案)