フォルダ名をテキストファイルに保存するスクリプト?

フォルダ名をテキストファイルに保存するスクリプト?

親フォルダにフォルダのリストがあります。すべてのフォルダ名をテキストファイルに保存するにはどうすればよいですか?次のように

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'

おすすめ記事