以前我问过一个非常相似的问题,但它只是针对一个子目录将子目录中的文件写入 csv 文件并将其保存到 linux 命令行中的父目录。我有一个名为“dir”的目录,其中有 5 个子目录,sub1、sub2、..sub5。每个子目录中都有很多文件。我想将所有子目录中的文件列表写入 CSV 文件,并使用 linux 上的命令行将其保存到“dir”目录中。我的代码会这样做,除了我只想要文件名(name1、name2 等),但它会使用路径(./sub1/name1、./sub1/name2 等)写入完整的文件名。我在 dir 文件夹中使用的命令行是;
dir$ find . -type f > names.csv
由于您已将问题标记为“Linux”,因此我假设您拥有 GNU
find
- 在这种情况下您可以使用来自
man find
:解释
-execdir
对每个结果执行以下命令。basename {} \;
去掉最后之前的部分/
。找到的每个目录的{}
替代品。有关man find
更多信息,请参阅。