查找目录中不是目录的所有文件

时间:2009-08-19 15:16:26

标签: bash unix ksh

我正在寻找一种方法来列出目录中的所有文件,不包括目录本身,以及这些子目录中的文件。

所以,如果我有:

./test.log
./test2.log
./directory
./directory/file2

我想要一个返回的命令:./ test.log ./test2.log,没有别的。

7 个答案:

答案 0 :(得分:55)

如果您想要test.logtest2.logfile2,那么:

find . -type f

如果您不想file2,那么:

find . -maxdepth 1 -type f

答案 1 :(得分:13)

如果您还需要列出符号链接,管道,设备文件和文件系统的其他特定元素,则应使用:

find -maxdepth 1 -not -type d

这将列出除目录之外的所有内容。

答案 2 :(得分:3)

使用find很简单:

find . -maxdepth 1 -type f

答案 3 :(得分:0)

find . -type f

答案 4 :(得分:0)

find /some/directory -type f

答案 5 :(得分:0)

$ find . -type f -print

每个文件都在自己的行上。您必须位于要搜索的目录中。

答案 6 :(得分:-1)

还有一个选择

ls -ltr | grep ^d