首页 > 解决方案 > UNIX - 如何将来自不同子目录的文件的名称和路径写入单个 .txt 文件?

问题描述

所以我在不同的子目录中有一堆文件,我想将这些文件的名称和路径打印到一个“.txt”文件中。这将是一个递归过程,因为文件将每天添加,“.txt”文件也将更新,因此没有固定数量的文件。所有文件都将采用“.txt”格式。

例如:

C:\Users\jsmith\Desktop\File 有文件夹 File1 和 File2

File1 包含 File1.txt

File2 包含 File2.txt

我希望“.txt”文件中的结果如下所示:

File1 C:\Users\jsmith\Desktop\File\File1

File2 C:\Users\jsmith\Desktop\File\File2

也可以 dir /B /S /O > list.txt for UNIX 吗?这提供了路径,但我可以为文件名做什么?

标签: shellunix

解决方案


要递归获取所有文件的递归列表,您可以使用find . 要获取名称和完整路径,您可以尝试以下操作:

find . | while read line ; do echo $line; realpath $line ; done

推荐阅读