查找目录中不是目录本身的所有文件
Posted
技术标签:
【中文标题】查找目录中不是目录本身的所有文件【英文标题】:Find all files in a directory that are not directories themselves 【发布时间】:2010-11-20 23:59:30 【问题描述】:我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件。
如果我有:
./test.log
./test2.log
./directory
./directory/file2
我想要一个返回的命令:./test.log ./test2.log 没有别的。
【问题讨论】:
【参考方案1】:如果你想要test.log
、test2.log
和file2
,那么:
find . -type f
如果你不想要file2
那么:
find . -maxdepth 1 -type f
【讨论】:
【参考方案2】:如果您还需要列出符号链接、管道、设备文件和文件系统的其他特定元素,则应使用:
find -maxdepth 1 -not -type d
这将列出除目录之外的所有内容。
【讨论】:
这正是我想要的。我想列出所有类型的 except 目录。我正在做类似find / -group xxx | xargs ls -l
的事情。这将ls -l <dir>
然后ls -l <file>
目录中的每个文件。但是使用-not -type d
从输出中排除了目录。请注意,! -type d
也可以工作(并且根据手册页声称符合 POSIX)【参考方案3】:
使用 find 很简单:
find . -maxdepth 1 -type f
【讨论】:
【参考方案4】:find . -type f
【讨论】:
你是对的,误读了这个问题。 John Kugelman 发布了更完整的答案。【参考方案5】:find /some/directory -type f
【讨论】:
【参考方案6】:$ find . -type f -print
每个文件将在自己的行中。您必须在要搜索的目录中。
【讨论】:
【参考方案7】:更多选择
ls -ltr | grep ^d
【讨论】:
以上是关于查找目录中不是目录本身的所有文件的主要内容,如果未能解决你的问题,请参考以下文章