UNIX Shell:列出目录中除目录名称之外的所有文件

时间:2013-04-06 17:09:16

标签: linux shell recursion tree ls

我想以递归方式列出目录中的所有文件。我将此输出存储在一个文件中,我稍后将迭代该文件,并将每一行用作另一个命令中的参数。

但是我尝试过的所有命令都将目录名称列为输出行之一,后跟目录中包含的文件和目录。

我尝试了以下内容:

tree -if --noreport . > files_names.txt

这给了我一些成功,但它仍然打印目录。示例输出如下:

/testdir
/testdir/rightfolder/
/testdir/rightfolder/file2.txt
/testdir/rightfolder/file3.txt
/testdir/wrongfolder/
/testdir/wrongfolder/file.txt

我已经检查了man和ls的手册页。

是否有标志或其他命令可以为我提供正确的输出。我已经考虑使用树的标志来列出目录,然后从原始列表中删除所有这些条目,但这根本不优雅。

1 个答案:

答案 0 :(得分:5)

您可以使用find(1)并按类型过滤:

find ./ -type f