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

问题描述:

我想递归列出目录中的所有文件。我将这个输出存储在一个文件中,我将稍后迭代并将每行用作另一个命令中的参数。UNIX Shell:列出除目录名外的目录中的所有文件

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

我曾尝试以下:

tree -if --noreport . > files_names.txt 

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

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

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

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

你可以使用类型find(1)和过滤:

find ./ -type f 
+0

就像一个魅力!谢谢!一直在阅读手册页,试图找到答案 – robinjohnobrien 2013-04-06 17:21:59