【发布时间】:2010-11-20 23:59:30
【问题描述】:
我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件。
如果我有:
./test.log
./test2.log
./directory
./directory/file2
我想要一个返回的命令:./test.log ./test2.log 没有别的。
【问题讨论】:
我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件。
如果我有:
./test.log
./test2.log
./directory
./directory/file2
我想要一个返回的命令:./test.log ./test2.log 没有别的。
【问题讨论】:
如果你想要test.log、test2.log 和file2,那么:
find . -type f
如果你不想要file2 那么:
find . -maxdepth 1 -type f
【讨论】:
如果您还需要列出符号链接、管道、设备文件和文件系统的其他特定元素,则应使用:
find -maxdepth 1 -not -type d
这将列出除目录之外的所有内容。
【讨论】:
find / -group xxx | xargs ls -l 的事情。这将ls -l <dir> 然后ls -l <file> 目录中的每个文件。但是使用-not -type d 从输出中排除了目录。请注意,! -type d 也可以工作(并且根据手册页声称符合 POSIX)
使用 find 很简单:
find . -maxdepth 1 -type f
【讨论】:
find . -type f
【讨论】:
find /some/directory -type f
【讨论】:
$ find . -type f -print
每个文件将在自己的行中。您必须在要搜索的目录中。
【讨论】:
更多选择
ls -ltr | grep ^d
【讨论】: