Linux で、すべてのフォルダー/サブフォルダー名を調べて、テキスト ファイルにリダイレクトしたい
試し ls -alR > list.txt
ましたが、すべてのファイルとフォルダーが表示されます
使用できますfind
find . -type d > output.txt
またtree
tree -d > output.txt
tree
、システムにインストールされていない場合。
使用している場合ubuntu
sudo apt-get install tree
を使用している場合mac os
。
brew install tree
find . -type d > list.txt
現在のパスの下にあるすべてのディレクトリとサブディレクトリを一覧表示します。現在のパス以外のパスの下にあるすべてのディレクトリを一覧表示する場合は、.
を別のパスに変更します。
特定のディレクトリを除外したい場合は、否定的な条件でそれらを除外できます:
find . -type d ! -name "~snapshot" > list.txt
他の回答にリストされているだけでなくfind
、より優れたシェルでは、再帰的なグロブとグロブ一致のフィルタリングの両方が許可されているためzsh
、たとえば...
ls -lad **/*(/)
...必要なすべての「-l」の詳細を保持しながら、すべてのディレクトリを一覧表示します。それ以外の場合は、次のようなものを使用して再作成する必要があります...
find . -type d -exec ls -ld {} \;
(他の回答が示唆するほど簡単ではありません)
find の利点は、シェルからより独立していることですsystem()
。C/C++ プログラムなどからの呼び出しであっても、移植性が高くなります。