我想以递归方式列出目录中的所有文件。我将此输出存储在一个文件中,我稍后将迭代该文件,并将每一行用作另一个命令中的参数。
但是我尝试过的所有命令都将目录名称列为输出行之一,后跟目录中包含的文件和目录。
我尝试了以下内容:
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的手册页。
是否有标志或其他命令可以为我提供正确的输出。我已经考虑使用树的标志来列出目录,然后从原始列表中删除所有这些条目,但这根本不优雅。
答案 0 :(得分:5)
您可以使用find(1)
并按类型过滤:
find ./ -type f