脚本将文件夹名称保存在文本文件中?

脚本将文件夹名称保存在文本文件中?

我的父文件夹中有一个文件夹列表,如何将所有文件夹名称保存在一个文本文件中?如下

Parent folder 
|...A (folder)
|...B (folder)
|...C (folder)
|...D (folder)
|...E (folder)
|...F (folder)

我想将所有文件夹名称保存在一个文本文件中并将其保存在父文件夹中

parent folder 
|...A (folder)
|...B (folder)
|...C (folder)
|...D (folder)
|...E (folder)
|...F (folder)
|...text file contain the names of the folders i.e if I open the file I will find the folders names (A,B,C,D,E,F)

答案1

您可以尝试父文件夹中的任一命令。

如果您需要查找所有文件,

find . -print > list_of_files

如果您只需要目录及其内部的子目录,

find . -type d > list_of_files

如果您只需要单级目录,

find . -maxdepth 1 -type d > list_of_files

现在,通过maxdepth 1选项,我们要求仅检查当前级别的目录。例如,

父文件夹

pwd
/test

我的父文件夹中的目录

ls
folder1  folder2  folder3  folder4

现在,在folder1目录中我创建了另外 2 个目录,名为文件夹1_1文件夹1_2

现在,这是 的输出find . -type d

find . -type d
.
./folder4
./folder2
./folder3
./folder1
./folder1/folder1_2
./folder1/folder1_1

但是,如果我指定maxdepth 1选项,我将得到输出,

find . -maxdepth 1 -type d
.
./folder4
./folder2
./folder3
./folder1

如您所见,目录内的子目录未列出。

引用自这里,您可以使用find如下所示的方法来删除前导./在你的命令输出中。

find -maxdepth 1 -type d -printf '%P\n'

相关内容