我的父文件夹中有一个文件夹列表,如何将所有文件夹名称保存在一个文本文件中?如下
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'