1

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

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

我尝试了以下方法:

tree -if --noreport . > files_names.txt

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

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

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

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

4

1 回答 1

5

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

find ./ -type f
于 2013-04-06T17:11:52.223 回答